C# 如何通过程序集访问泛型类型来处理泛型类型?
我正在使用托管CLR访问.NET程序集。此程序集包含以下泛型类型:C# 如何通过程序集访问泛型类型来处理泛型类型?,c#,c++,generics,assemblies,native,C#,C++,Generics,Assemblies,Native,我正在使用托管CLR访问.NET程序集。此程序集包含以下泛型类型: MyGenericClass<MyClass> // C# notation 所以现在我需要知道如何格式化类名字符串。对于常规课程,我使用类似 MyNamespace.MySubNamespace.MyClass // Full adressing for the query. 我想我必须这样说: MyNamespace.MyGenericClass<MyNamespace.MySubNamespace
MyGenericClass<MyClass> // C# notation
所以现在我需要知道如何格式化类名字符串。对于常规课程,我使用类似
MyNamespace.MySubNamespace.MyClass // Full adressing for the query.
我想我必须这样说:
MyNamespace.MyGenericClass<MyNamespace.MySubNamespace.MyClass>
MyNamespace.MyGenericClass
但这不起作用。有什么想法吗?可能是一个错误的语法?./p>< p>泛型在.NET工作中不同于C++模板。您必须首先获取泛型类型,然后从中生成具体类型。因此,您首先必须获得
MyGenericClass
并使用passingMyClass
作为参数。谢谢,非常有用的答案。千万别想那件事。:)好的,还有一个问题。MakeGenericType是在哪个标头中定义的?不知道。我从未主持过CLR。它是System.Type的成员,据我所知,它是System.dll的一部分。不知道这是否有帮助。不,它应该是mscorlib.dll的一部分。但是它没有在标题中定义。所以也许它是另一个图书馆。搜索
MyNamespace.MyGenericClass<MyNamespace.MySubNamespace.MyClass>