本文整理汇总了C#中System.Reflection.Metadata.MetadataReader.GetToken方法的典型用法代码示例。如果您正苦于以下问题:C# MetadataReader.GetToken方法的具体用法?C# MetadataReader.GetToken怎么用?C# MetadataReader.GetToken使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Reflection.Metadata.MetadataReader
的用法示例。
在下文中一共展示了MetadataReader.GetToken方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetFullTypeName
private static string GetFullTypeName(MetadataReader metadataReader, Handle handle)
{
if (handle.IsNil)
{
return null;
}
if (handle.HandleType == HandleType.Type)
{
var type = metadataReader.GetTypeDefinition((TypeHandle)handle);
string name = metadataReader.GetString(type.Name);
while (IsNested(type.Attributes))
{
var enclosingType = metadataReader.GetTypeDefinition(type.GetDeclaringType());
name = metadataReader.GetString(enclosingType.Name) + "+" + name;
type = enclosingType;
}
if (type.Namespace.IsNil)
{
return name;
}
return metadataReader.GetString(type.Namespace) + "." + name;
}
if (handle.HandleType == HandleType.TypeReference)
{
var typeRef = metadataReader.GetTypeReference((TypeReferenceHandle)handle);
string name = metadataReader.GetString(typeRef.Name);
if (typeRef.Namespace.IsNil)
{
return name;
}
return metadataReader.GetString(typeRef.Namespace) + "." + name;
}
return string.Format("<unexpected token kind: {0}>", AsToken(metadataReader.GetToken(handle)));
}