本文整理汇总了C#中Mono.Cecil.TypeReference.GetScopeName方法的典型用法代码示例。如果您正苦于以下问题:C# TypeReference.GetScopeName方法的具体用法?C# TypeReference.GetScopeName怎么用?C# TypeReference.GetScopeName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Cecil.TypeReference
的用法示例。
在下文中一共展示了TypeReference.GetScopeName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BuildTypeName
/// <summary>
/// Recursively builds a type name.
/// </summary>
/// <param name="builder">Builder the type name will be added to.</param>
/// <param name="type">Type whose name is to be built.</param>
static void BuildTypeName (StringBuilder builder, TypeReference type)
{
GenericParameter genParam = type as GenericParameter;
if (genParam != null) {
builder.AppendFormat ("!{0}", genParam.Position);
} else {
GenericInstanceType genType = type as GenericInstanceType;
if (genType != null) {
builder.AppendFormat ("[{2}]{0}.{1}<", genType.Namespace, genType.Name, type.GetScopeName ());
for (int i = 0; i < genType.GenericArguments.Count; i++) {
TypeReference argType = genType.GenericArguments [i];
if (i > 0)
builder.Append (',');
BuildTypeName (builder, argType);
}
builder.Append (">");
} else {
ArrayType arrType = type as ArrayType;
if (arrType != null) {
BuildTypeName (builder, arrType.ElementType);
builder.Append ("[]");
} else
builder.Append (String.Format ("[{1}]{0}", type.FullName, type.GetScopeName ()));
}
}
}