2016-11-07 14 views
-3

私はC#の初心者です。ゲッターとセッターにアクセスする方法があるかどうかは不思議です。ここC#:プライベートゲッターとセッターにアクセスする方法はありますか?

はサンプルコードです:

public class Foo 
{ 
    private AnotherClass _here; 
    private bool Bar 
    { 
    get{return _here.GetAnswer();} 
    set(return _here.SetAnswer(value);) 
    } 
} 

私はそこにリフレクション機能は、C#であるが、私の知る限り読んだとして、それが唯一のプライベート変数を行うことを認識しています。

また、私はこのコードをしようとしている:

public void func() 
{ 

    MethodInfo privMethod = Foo.GetType(). 
         GetMethod("Bar", BindingFlags.NonPublic | BindingFlags.Instance); 

    object fff = privMethod.Invoke(); 

} 

をしかし、それは動作しません。

誰でも手伝ってもらえますか?

+3

はい。反射。あなたはそれが私的な変数だけを読んだのですか?それは真実ではない。あなたがインターネット上で読んだランダムなナンセンスを信用しないでください。 MSDNで確認してください。 –

+1

https://stackoverflow.com/questions/9219261/is-it-possible-to-get-a-propertys-private-setterthroughthrough-reflection –

答えて

1
PropertyInfo property = typeof(Foo).GetProperty("Bar", BindingFlags.Instance | BindingFlags.NonPublic); 
MethodInfo getMethod = property.GetGetMethod(true); 
MethodInfo setMethod = property.GetSetMethod(true); 
+0

ありがとう!私はこの答えを探していた! @ヤリク –

関連する問題