请问:
隐式枚举转换允许将十进制整数0转换为任何枚举类型
是什么意思 请举个例子
非常感谢

解决方案 »

  1.   

    比如SqlParameter这个类就有这种情况:
    SqlParameter的构造函数中有如下的两:SqlParameter (String, Object) 
    SqlParameter (String, SqlDbType) 如果有如下的调用:
    SqlParameter = new SqlParameter("@pname", 0);
    那么你说会调用哪一个构造函数呢?当在 value 参数中指定 Object 时,SqlDbType 将从 Object 的 .NET Framework 类型推断出。请小心使用 SqlParameter 构造函数的这个重载来指定整数参数值。因为此重载接受 Object 类型的 value,所以当此值为零时,必须将整数值转换为 Object 类型,如下面的 C# 示例所示。
    Parameter = new SqlParameter("@pname", Convert.ToInt32(0));或
    Parameter = new SqlParameter("@pname", (object)0);