У меня есть поставщик данных, который содержит коллекцию сущностей. Я только хочу иметь возможность создавать новую сущность через поставщика данных.
Т.е., для создания новой записи мне нужно использовать:
Entity entity = Provider.AddNew();
enity.set_Properties... etc
Моя проблема в том, что если я установлю свои сущности на Внутренний, System.Activator не сможет создать их экземпляр. Каждый из моих провайдеров данных использует базовый класс с универсальным типом объекта, через который передается.
Итак, на данный момент мой метод AddNew () содержит следующее:
public T AddNew()
{
T added = Activator.CreateInstance<T>();
this.Collection.Add(added);
return added;
}
Очевидно, что это не конец света, если я могу создать новую сущность вручную вне пространств имен провайдера данных, но это кажется бессмысленным, учитывая, что нет способа их когда-либо сохранить, так зачем давать такую возможность?
РЕДАКТИРОВАТЬ: Забыл упомянуть, что все мои провайдеры, организации и т. Д. Находятся в одном пространстве имен.