为什么以下不起作用?
if(!(obj is (DataGridView1.SortedColumn.ValueType)))
我收到一个预期类型的错误。 ValueType不返回类型吗?
答案 0 :(得分:9)
ValueType
不是真正的课,对吗?这是一个返回Type
的属性。所以要在运行时计算出来,你需要说:
if(!(DataGridView1.SortedColumn.ValueType.IsAssignableFrom(obj.GetType())))
答案 1 :(得分:5)
将您的代码更改为
if(obj.GetType() != DataGridView1.SortedColumn.ValueType)
修改更新代码以修复拼写错误
答案 2 :(得分:2)
不,ValueType
属性是Type
类的实例。它本身不是一种类型。
试试这个:
if (!(obj.GetType() == DataGridView1.SortedColumn.ValueType))
但是,如果obj
是衍生类型,则不会考虑这一点,因此如果您需要,那么您必须得到一点点发烧友。