三自已定义的范型反射的使用
首先自己定义一个范型类
namespace RefTest
{
public class BaseClass<TVO>
{
T t;
V v;
O o;
public void SetValue(T ptV pvO po)
{
thist = pt;
thisv = pv;
thiso = po;
}
public override string ToString()
{
return stringFormat(T:{} V:{} O:{} tToString() vToString() oToString());
}
}
}
使用反射创建类型和调用方法
string tBaseClassStr = RefTestBaseClass`[[SystemString][SystemInt]
[SystemCollectionsGenericDictionary`[[SystemString][SystemInt]]]];
Type tBaseClass = TypeGetType(tBaseClassStr);
Object oBaseClass = ActivatorCreateInstance(tBaseClass);
MethodInfo addMBaseClass = tBaseClassGetMethod(SetValue);
addMBaseClassInvoke(oBaseClass new object[] {zhxoDic });
ConsoleWriteLine(oBaseClassToString());
SystemConsoleWriteLine();
测试成功
[] [] []