C# 如何在C中输入T类并输出T类列表#

C# 如何在C中输入T类并输出T类列表#,c#,generics,C#,Generics,我在C#工作。我想做的是将类型为T的类定义作为输入,使用提供给该类的其他信息进行一些处理,最后得到类型为T的对象列表。处理的内容并不重要 有什么建议吗 谢谢 使用泛型: List<T> myFunction<T> (T myObject) { var list = new List<T>(); //POPULATE LIST HERE list.Add(myObject); //DO OTHER STUFF return list; }

我在C#工作。我想做的是将类型为T的类定义作为输入,使用提供给该类的其他信息进行一些处理,最后得到类型为T的对象列表。处理的内容并不重要

有什么建议吗

谢谢

使用泛型:

List<T> myFunction<T> (T myObject) {
  var list = new List<T>();
  //POPULATE LIST HERE
  list.Add(myObject);
  //DO OTHER STUFF
  return list;
}
List myFunction(T myObject){
var list=新列表();
//在此处填充列表
列表。添加(myObject);
//做其他事情
退货清单;
}

是的,泛型<代码>列表DoSomething(T object)或只是
列表DoSomething()
如果您只需要类型而不是实际的实例。我认为除了泛型之外,我还需要反射,因为某些处理需要知道对象的属性。我可以合理地说
x=T.GetType();var p=x.GetProperties()等等,听起来你不需要这样。您应该为泛型参数T定义基类或接口,这样您就可以通过使用泛型约束在编译时安全地访问属性。另一种选择是将
Func
作为参数传递,以帮助您构造泛型对象。老实说,我不想要基类或接口-我希望它适用于我抛出的任何类。让我更具体一点,我正在构建的类是一个表单(因此,如果没有设计器的反对,我不能将其作为泛型类)。我认为创建一个helper类(带有一个T参数)来完成泛型工作将是一个解决方案。我最终创建了一个T类型的通用包装器类。它根据需要调用Form类,而Form类不需要了解T。也有一些反思。