Используя рефлексию (reflection) можно создать следующий метод:
private static List<TEntityType> CreateObjects<TEntityType>(
Type realType)
{
ConstructorInfo constructor;
TEntityType entity;
constructor = realType.GetConstructor(Type.EmptyTypes);
if (constructor != null)
{
entity = (TEntityType)constructor.Invoke(new object[0]);
}
else // если конструктор содержит параметры
{
constructor = realType.GetConstructor(
new Type[] { <тип>, <тип>, ... });
entity = (TEntityType)constructor.Invoke(
new object[] { <аргумент>, <аргумент>, ... });
}
return entity;
}
Комментариев нет:
Отправить комментарий