.NET 4.0(或更早版本)反射 API 有什么方法可以解析泛型类型参数吗?查看我当前尝试的 ArgumentException 注释后的两行。
[TestMethod]
public void TestGenericParameterTokenResolution()
{
Type genericParameter = typeof(List<>).GetGenericArguments()[0];
Assert.IsTrue(genericParameter.IsGenericParameter);
int metadataToken = genericParameter.MetadataToken;
// make sure the metadata token is a GenericParam
Assert.AreEqual(metadataToken & 0xFF000000, 0x2A000000);
Module module = typeof(List<>).Module;
// the following both throw an ArgumentException.
Type resolvedParameter = module.ResolveType(metadataToken);
resolvedParameter = (Type)module.ResolveMember(metadataToken);
Assert.AreSame(genericParameter, resolvedParameter);
}
最佳答案
关于.net - 解析泛型类型参数的元数据标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1249745/