C# 反射激活器使用泛型参数创建实例
假设我有以下类定义:
List<SomeClass>...
public class SomeClass
{
int Id {get; set;}
}
在我的项目的另一个地方,我得到了这个类型列表,我想以某种方式分解它,这意味着在这种情况下创建通用传递参数的实例(SomeClass),
public T Decompose (object toDecompose)
{
if (toDecompose.GetType().IsGenericType())
{
Types[] genericParams= toDecompose.GetType().GetGenericParameters();
something similar to ...return Activator.CreateInstance<genericParams[0]>; -- which does not compile
}
}
因此返回的对象应该是 SomeClass 的一个实例..
Let's say I have the following class definition :
List<SomeClass>...
public class SomeClass
{
int Id {get; set;}
}
and in another place in my project , I get this type List I want to somehow decompose it, whjich means create an instance of the generic passed parameter in this case (SomeClass)
public T Decompose (object toDecompose)
{
if (toDecompose.GetType().IsGenericType())
{
Types[] genericParams= toDecompose.GetType().GetGenericParameters();
something similar to ...return Activator.CreateInstance<genericParams[0]>; -- which does not compile
}
}
so the returned object should be an instance of SomeClass..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)