1

以下で私が間違っていることを誰かが見ることができますか? 型には、サービス メソッドがアクセスしようとしているパブリック プロパティがあるのに、リフレクションによって取得されないのはなぜですか?

Public class SomeClass
{
   private YetAnotherClass yetAnotherClass;

   public SomeClass(SomeOtherClass otherclass)
   {
       this.yetAnotherClass = otherclass.SomeProperty;
   }

   public YetAnotherClass SomeProperty
   {
       get { return this.yetAnotherClass; }
   }
}

Public class ServiceClass
{
    public void DoSomething(SomeClass someclass)
    {
         Type type = someclass.GetType();
         FieldInfo[] fieldsinfo = type.GetFields(BindingFlags.Public | BindingFlags.Instance); // returns empty collection
         FieldInfo fieldinfo = type.GetField("SomeProperty"); // returns null reference exception
    }
}

乾杯

スチュワート

4

1 に答える 1

11

SomeProperty は、名前が示すとおり、プロパティです。代わりにGetPropertyandを使用してください。それはの代わりにGetPropertiesつながります。PropertyInfoFieldInfo

于 2013-03-24T12:58:54.180 に答える