2016-04-12 13 views
1

実行時まで必要なプロパティがわからないため、クラスのパブリックプロパティを名前の文字列値に基づいて呼び出す必要があります。私は反射をうまく使用しようとしています。名前の文字列に基づいてプロパティを呼び出す

FieldCalculation myClass = new FieldCalculation(); 
string value = myClass.GetType().GetProperty("MyValue"); 

任意の助けをいただければ幸いです。私は、プロパティの値がこのようになるはずだと思うのアクセス

class FieldCalculation 
{ 
    public string MyValue 
    { 
     get 
     { 
      return "Test Data"; 
     } 
    } 
} 

:クラスは次のようになります。

+3

[C#でリフレクションを使用して文字列からプロパティ値を取得します](http://stackoverflow.com/questions/1196991/get-property-value-from-string-usingの可能性のある重複:これは、作業コードです-reflection-in-c-sharp) – NineBerry

+0

はい、私は重複していると思います。しかし、私はそれがGetValueメソッドに渡されなければならなかったことを認識していなかったので、FieldCalculationクラスの定義を分離することが役に立ちました – CorribView

答えて

3

あなたはほとんどそれを持っていました。あなたがしていたことは、プロパティ定義を取得していました。あなたは値を得るためにプロパティを要求する必要があり、インスタンスに渡します。

FieldCalculation myClass = new FieldCalculation(); 
string value = (string)myClass.GetType().GetProperty("MyValue").GetValue(myClass); 
関連する問題