エンティティのコレクションを含むデータプロバイダがあります。私は、データプロバイダを通じて新しいエンティティを作成できるようにしたいだけです。C#CF2.0 - System.ActivatorおよびInternalクラス
すなわち、私が使用する必要が新しいレコードを作成する:
Entity entity = Provider.AddNew();
enity.set_Properties... etc
を私の問題は、私は内部に私のエンティティを設定した場合、System.Activatorは、それらのインスタンスを作成することができないということです。私の各データプロバイダは、渡されたエンティティのジェネリック型を持つBaseクラスを使用します。
ので、現時点では私のAddNew()メソッドには、次のものが含まれています
public T AddNew()
{
T added = Activator.CreateInstance<T>();
this.Collection.Add(added);
return added;
}
私はデータプロバイダの名前空間の外に手動で新しいエンティティをインスタンス化することができればそれは明らかに世界の終わりではないのですが、それはそうです無意味なことを考えると、それを保存する方法がないので、なぜオプションを与えるのですか?
EDIT:私のすべてのプロバイダ、エンティティなどが同じ名前空間にあることを忘れてしまった。