Чтобы создать новый объект T
, вам нужно добавить ограничение new()
к параметру типа:
class MyClass<T> where T : new()
{
public IEnumerable<T> GenerateTest()
{
Затем вы можете создать новый объект T
и установитьего свойства:
var obj = new T();
foreach (var field in typeof(T).GetProperties())
{
field.SetValue(obj, ...);
}
Поскольку ваш метод возвращает IEnumerable<T>
, вы не можете вернуть объект T
напрямую, но нужно обернуть в коллекцию:
var list = new List<T>();
list.Add(obj);
return list;
}
}