2017-06-28 11 views
-7

私はジェネリックのObservableCollectionObservableCollection内のオブジェクトのプロパティにアクセスするには?

public ObservableCollection<T> _DGModels; 

を持っていると私は私の質問はどのようにある

public static ObservableCollection<dynamic> GetDGModelFromDatabase() 
    { 

     return new ObservableCollection<dynamic> 
     { 
      new Student { FirstName="Tom", LastName="Jones"}, 
      new Student { FirstName="Dick", LastName="Tracey"}, 
      new Student { FirstName="Harry", LastName="Hill"}, 
      new Student { FirstName="Jack" , LastName="Sparrow"}, 
      new Student { FirstName="Davy" , LastName="Jones"} 
     }; 
    } 

のObservableCollectionに挿入されたデータは、クラスのインスタンスである

public class Number : INotifyPropertyChanged 
{ 
    public int firstNumber; 
    public int lastNumber; 

    public int FirstNumber 

    public int LastNumber 

    public int PlusNumber 


    public event PropertyChangedEventHandler PropertyChanged; 

    public void NotifyPropertyChanged(string propertyName) 

} 

の各データを挿入Type.GetProperty()を使用してFirstNameまたはLastNameであるNumberのプロパティにアクセスしますか?

+5

コードを画像として掲載しないでください。 'StackOverflow'にはこのための素晴らしいエディタがあります。 – Peter

+5

あなたの質問を実際のテキストとしてコードに含めるように[編集]してください。これを行うための要件は、[質問時にSOのコードイメージをアップロードしないのはなぜですか?](https://meta.stackoverflow.com/a/285557/3744182)で説明しています。 – dbc

+0

GetProperty()とは何ですか? – mm8

答えて

0

プロパティFirstName(またはLastName)の値を取得するためにリフレクションを使用して、あなたはこのように、尋ねたとして、あなただけのGetProperty()を使用する必要があります。

Number num = new Number() { FirstNumber = 1, LastNumber = 5 }; 

int first = (int)num.GetType().GetProperty("FirstNumber").GetValue(num,null); 

Console.WriteLine(first); 

あなたはNumberクラスは次のようになりますと仮定すると、

public class Number : INotifyPropertyChanged 
{ 
    public int FirstNumber { get; set; } 
    public int LastNumber { get; set; } 
    public int PlusNumber { get; set; } 

    public event PropertyChangedEventHandler PropertyChanged; 

    public void NotifyPropertyChanged(string propertyName) 
    { 
     //... 
    } 
} 
関連する問題