私は、Entity Frameworkテーブルの値を取得するオブジェクト型のプロパティを持つクラスを持っています。ここでC#typeof( "Object Variable get type")
は、クラスのプロパティです:
public string EntityName
{
get { return _entityName; }
set { _entityName = value; }
}
private string _entityName;
public object EntityType
{
get { return _entityType; }
set { _entityType = value; }
}
private object _entityType;
オブジェクトは任意のテーブルすることができ、それが初期化されたときに依存します。 次へオブジェクトのテーブルのすべての列名が必要です。ここ は私にそれを与える必要があるコードです:
public ObservableCollection<string> ReadColumnNames()
{
IEnumerable<string> names = typeof("Problem Here").GetProperties()
.Select(property => property.Name)
.ToList();
ObservableCollection<string> observableNames = new ObservableCollection<string>();
foreach (string name in names)
{
observableNames.Add(name);
}
return observableNames;
}
問題は、typeof演算()メソッドは、タイプを必要とタイプが任意のテーブルのものとすることができるということです。タイプの変数、つまり タイプmyType = EntityDetail.GetType() をタイプした場合、typeof()はタイプではなく変数であるため、それを拒否します。
私は何ができるのですか?
共有する気分があれば、これを行うより良い方法があるかどうかわかりません。
ありがとうございます。
私はあなたのエンティティの*ランタイム*型を返す 'typeof(...)'の代わりに 'myEntity.GetType'が必要だと思います。 – HimBromBeere
これで、すでに見つかった 'EntityDetail.GetType()'は使えないのですか?あなたの問題のステートメントは私には不明です。 –
なぜEntityDetail.GetType()、GetProperties()などを使用できなかったのですか? –