我正在使用托管 CLR 来访问 .NET-Assembly。此程序集包含以下泛型类型:
MyGenericClass<MyClass> // C# notation
spAssembly 是我托管和加载的程序集,我需要通过字符串 (bstrClassName) 获取此类型。
spAssembly->GetType_2(bstrClassName, &spType); // C++-Access via hosted Assembly
所以现在我需要知道如何格式化类名字符串。对于常规类(class),我使用类似
MyNamespace.MySubNamespace.MyClass // Full adressing for the query.
我想我必须这样解决:
MyNamespace.MyGenericClass<MyNamespace.MySubNamespace.MyClass>
但这行不通。任何想法?也许语法错误?
最佳答案
.Net 中的泛型与 C++ 模板不同。您必须先获取通用类型,然后从中生成具体类型。所以你首先必须得到 MyGenericClass
并使用 MakeGenericType将 MyClass
作为参数传递。
关于c# - 如何通过 Assembly 访问泛型类型来解决它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877214/