2017-02-28 7 views
0

私は500個のパラメータを持つオブジェクトを持っていますが、共有プロジェクトなので変更できません。 私の目標は、リフレクションを通じてプロパティの値を取得することですが、私はそれを行うことはできません。ここ共有/ pclプロジェクトのオブジェクトからのリフレクションでプロパティを取得

私のコードです:

public class MyObjects 
    {  
    public int RGP_Id { get; set; } 
    public DateTime RGP_DateTime { get; set; } 
    public int RGP_MCC_Numero_Serie_MS { get; set; } 
    public int RGP_IDREG_1 { get; set; } 
    public int RGP_IDREG_2 { get; set; } 
    public int RGP_IDREG_3 { get; set; } 
    public int RGP_IDREG_4 { get; set; } 
    public int RGP_IDREG_5 { get; set; } 
    public int RGP_IDREG_6 { get; set; } 
    public int RGP_IDREG_7 { get; set; } 
    public int RGP_IDREG_8 { get; set; } 
    public int RGP_IDREG_9 { get; set; } 
    public int RGP_IDREG_10 { get; set; } 
    ....... 
    public int RGP_IDREG_500 { get; set; } 

} 

...

var profile = MyObjects; 
var idProperty = GetProperty(profile.GetType().GetTypeInfo(), "RGP_IDREG_10"); 

...

idPropertyは、オブジェクトが含まれており、そこまで私がしました。

ここで、idPropertyを使用して値を取得するにはどうすればよいですか? は基本的に私はなるだろう:

var x = MyObjects.idProperty; 

をどのように私はこの成し遂げることができますか?

答えて

1

idPropertyを想定すると、あなたのような何かができるPropertyInfoオブジェクトです:

var result = (int) idProperty.GetValue(profile,null); 

値がキャストされていることを確認する必要があります。 object

関連する問題