インターフェイスによって制約されているジェネリック メソッド内で新しく作成されたオブジェクトのプロパティにアクセスしたい:
public interface MyInterface
{
int ID { get; set; }
string Name { get; set; }
}
コンパイラは "T" が MyInterface 型であることを認識しているため、そのインターフェイスのプロパティにアクセスできるはずです。
public T doSomething<T>(String value) where T : MyInterface, new()
{
T entity = new T();
entity.Name = value;
return entity;
}
しかし、次のように書かれています:Tには「名前」の定義がありません
ここでインターフェイスを制約として使用できる場合: プロパティにアクセスできないのはなぜですか?