我尝试调整this tutorial from CodeProject尝试更改dynamic
,在这种情况下,这将是一个简单Enum
的int。
如果我们这样定义Enum
:
public Enum MyEnum { Zero = 0, One = 1, Two = 2 }
设置包含MyObject
的{{1}}类的值的方法的内容:
MyEnum
有关为何发生这种情况的任何想法?
答案 0 :(得分:6)
“对象与目标类型不匹配”表示myObject
不是从propertyInfo
获取的类型的实例。换句话说,您尝试设置的属性是一种类型,myObject
不是该类型的实例。
举例说明:
var streamPosition = typeof(Stream).GetProperty("Position");
// "Object does not match target type," because the object we tried to
// set Position on is a String, not a Stream.
streamPosition.SetValue("foo", 42);