【问题标题】:Object does not match target type using C# Reflection对象与使用 C# 反射的目标类型不匹配
【发布时间】:2010-02-11 13:12:29
【问题描述】:

我正在尝试按如下方式获取 Window 的值

this指主窗口(window1)

Type type = this.GetType();
PropertyInfo pi = type.GetProperty("Left");
object obj = pi.GetValue(type, null);

但我收到“对象与使用的目标类型不匹配”错误。怎么了?

【问题讨论】:

    标签: c# .net reflection


    【解决方案1】:

    因为您试图获取 Type 的“Left”属性,而不是您的实例。

    试试这个

    object obj = pi.GetValue(this, null);
    

    【讨论】:

      【解决方案2】:

      使用此代码

      object obj = property.GetValue(currentObject, null);

      【讨论】:

      • 代码块本身通常不是有用的答案。如果您可以编辑您的答案并解释您显示的代码的作用,以及该代码为什么/如何回答问题,它真的会有所帮助。
      • 当您在属性中包含字符串或任何非复杂类型作为值时,此方法有效,您应该发送 currentObject(用于获取属性的对象)作为参数而不是 this
      猜你喜欢
      • 2013-10-06
      • 1970-01-01
      • 2017-04-10
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      相关资源
      最近更新 更多