У меня есть поставщик данных, который содержит коллекцию объектов. Я только хочу, чтобы создать новый объект через поставщика данных.C# CF2.0 - System.Activator и внутренние классы
т.е., чтобы создать новую запись, мне нужно использовать:
Entity entity = Provider.AddNew();
enity.set_Properties... etc
Моя проблема заключается в том, что, если я изложу свои объекты для внутреннего, System.Activator не может создать экземпляр из них. Каждый из моих Data Providers использует базовый класс с общим типом передаваемого объекта.
Поэтому в данный момент мой метод AddNew() содержит следующее:
public T AddNew()
{
T added = Activator.CreateInstance<T>();
this.Collection.Add(added);
return added;
}
Это, очевидно, не конец света, если я могу создать экземпляр нового органа вручную вне поставщика данных пространств имен, но это, кажется, бессмысленно, потому что не существует способа спасти их, поэтому зачем им это делать?
EDIT: Забыл упомянуть, что все мои провайдеры, сущности и т. Д. Находятся в одном и том же пространстве имен.