カスタムタイプをバインドしたい(たとえば、実行時に入力されるプロパティまたはデータを使用)。コンパイル時のプロパティの数がわからないので、それらを含むリストを作成する必要があります。
後で、このオブジェクトを含むリストをグリッドまたはDropDownListにバインドしたいと思います。
これらのコントロールは、DataSourceプロパティを介してDataSource(オブジェクト)を受け取ることを知っています。メソッドDataBind()を呼び出すと、デフォルトの実装はリフレクションを使用してプロパティとデータを取得し、そのコントロールに書き込みます。
私にはタイプがあります、想像してみましょう:
class MyDynamicDataObject {
Dictionary<string, object> _properties;
public MyDynamicDataObject() {
_properties = new Dictionary<string, object>();
}
public void Add(string property, object value) {
_properties.Add(property, value);
}
}
しかし、_propertiesディクショナリのデータ構造に含まれている私のタイプのプロパティを「オーバーライド」するか、抽象的な方法で返すことを知っておく必要があります。
これを実行して、コントロールでDataBindを使用し、デフォルトの実装を使用できるようにするにはどうすればよいですか(Type.GetPropertiesを使用)。ただし、noneの型プロパティを返す代わりに、ディクショナリに含まれている抽象化を返しますか?
ありがとう