C#反射。未处理目标异常

C#反射。未处理目标异常,c#,exception,reflection,C#,Exception,Reflection,这看起来非常错误: v.GetType().GetProperty("CounterValue").SetValue(neCounters.GetType(), reader.GetValue(i), null); 这意味着您正试图将其分配给类型实例。您应该在此处传递目标对象,或者如果它是静态属性,则传递null。看起来应该是: .SetValue(neCounters.GetType(), {whatever}, null); 但这样使用起来会更容易: .SetValue(neCounte

这看起来非常错误:

v.GetType().GetProperty("CounterValue").SetValue(neCounters.GetType(), reader.GetValue(i), null);
这意味着您正试图将其分配给
类型
实例。您应该在此处传递目标对象,或者如果它是
静态属性,则传递
null
。看起来应该是:

.SetValue(neCounters.GetType(), {whatever}, null);
但这样使用起来会更容易:

.SetValue(neCounters, {whatever}, null);
这看起来非常错误:

v.GetType().GetProperty("CounterValue").SetValue(neCounters.GetType(), reader.GetValue(i), null);
这意味着您正试图将其分配给
类型
实例。您应该在此处传递目标对象,或者如果它是
静态属性,则传递
null
。看起来应该是:

.SetValue(neCounters.GetType(), {whatever}, null);
但这样使用起来会更容易:

.SetValue(neCounters, {whatever}, null);

请提供完整的异常,包括stacktrace和内部异常(基本上是
exception.ToString()
方法的输出)。目标异常。对象与terget类型不匹配。@andrew“对象与目标类型不匹配”-是的,因为(如上所述)您传递的是
类型
,而不是目标。请提供完整的异常,包括stacktrace和内部异常(基本上是
异常.ToString()
方法的输出)。目标异常。对象与terget类型不匹配。@andrew“对象与目标类型不匹配”-是的,因为(如上所述)您传递的是
类型
,而不是目标。@andrew我已刷新-问题仍然清楚地传递了
newCounters.GetType()
作为目标…?v.GetType().GetProperty(“CounterValue”).SetValue(neCounters,reader.GetValue(I),空)@安德鲁k。。。使用
设置值(v,…)
进行尝试。如果没有类型,我们很难理解这里的上下文,etci将尝试使用dynamic。NetworkElementCounter是一个超类型,我创建了一个子类型,因为在每个子类型中我都有不同类型的CounterValue@andrew我担心的是:你从
v
获得财产;现在还不清楚
v
neCounters
字段是如何相互作用的,所以我们在这里玩了一点“猜测”…@andrew我刷新了-问题仍然清楚地将
newCounters.GetType()
作为目标…?v.GetType().GetProperty(“CounterValue”).SetValue(neCounters,reader.GetValue(I),null)@安德鲁k。。。使用
设置值(v,…)
进行尝试。如果没有类型,我们很难理解这里的上下文,etci将尝试使用dynamic。NetworkElementCounter是一个超类型,我创建了一个子类型,因为在每个子类型中我都有不同类型的CounterValue@andrew我担心的是:你从
v
获得财产;现在还不清楚
v
neCounters
字段是如何相互作用的,所以我们在这里玩“猜测”游戏。。。