为什么不工作?
if(!(obj is (DataGridView1.SortedColumn.ValueType)))
我得到一个错误,认为需要一个类型。ValueType不返回类型吗?
ValueType
不是一个实际的类,对吗?这是一个返回Type
的属性。所以要在运行时弄清楚这个,你需要说:
if(!(DataGridView1.SortedColumn.ValueType.IsAssignableFrom(obj.GetType())))
将代码改为
if(obj.GetType() != DataGridView1.SortedColumn.ValueType)
Edit更新修复错字的代码
不,ValueType
属性是Type
类的一个实例。它本身不是一种类型。
试试这个:
if (!(obj.GetType() == DataGridView1.SortedColumn.ValueType))
然而,这并不能说明obj
是否是一个派生类型,所以如果你需要,你必须做得更漂亮一些。