使用反射为泛型类创建构造函数



我想为泛型类创建一个使用反射的类。
有人能告诉我如何创建它吗?

public class SomeClass<T>
{
  ....
}

我需要使用反射为SomeClass<T>创建一个类。

使用MakeGenericType方法:
Type myParameterizedSomeClass = typeof(SomeClass<>).MakeGenericType(typeof(MyParameter));
ConstructorInfo constr = myParameterizedSomeClass.GetConstructor(typeof(ConstrParamType1),typeof(ConstrParamType2));

是否需要在运行时使用反射来实例化现有的类或创建新类?如果是前者:

Class<?> c = Class.forName("SomeClass");
SomeClass<String> sc =  (SomeClass<String>)c.newInstance();

如果是后者,请查看Javassist。我还没试过,不过看起来很好用。我假设你用的是Java

相关内容

  • 没有找到相关文章

最新更新