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
和字段是如何相互作用的,所以我们在这里玩“猜测”游戏。。。