本文整理汇总了C#中Mono.CSharp.SimpleName.ResolveAsTypeTerminal方法的典型用法代码示例。如果您正苦于以下问题:C# SimpleName.ResolveAsTypeTerminal方法的具体用法?C# SimpleName.ResolveAsTypeTerminal怎么用?C# SimpleName.ResolveAsTypeTerminal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.CSharp.SimpleName
的用法示例。
在下文中一共展示了SimpleName.ResolveAsTypeTerminal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DefineType
public override TypeBuilder DefineType ()
{
if (TypeBuilder != null)
return TypeBuilder;
if (IsTopLevel) {
if (TypeManager.NamespaceClash (Name, Location))
return null;
ModuleBuilder builder = CodeGen.Module.Builder;
TypeBuilder = builder.DefineType (
Name, TypeAttr, TypeManager.multicast_delegate_type);
} else {
TypeBuilder builder = Parent.TypeBuilder;
string name = Name.Substring (1 + Name.LastIndexOf ('.'));
TypeBuilder = builder.DefineNestedType (
name, TypeAttr, TypeManager.multicast_delegate_type);
}
TypeManager.AddUserType (this);
#if GMCS_SOURCE
if (IsGeneric) {
string[] param_names = new string [TypeParameters.Length];
for (int i = 0; i < TypeParameters.Length; i++)
param_names [i] = TypeParameters [i].Name;
GenericTypeParameterBuilder[] gen_params;
gen_params = TypeBuilder.DefineGenericParameters (param_names);
int offset = CountTypeParameters - CurrentTypeParameters.Length;
for (int i = offset; i < gen_params.Length; i++)
CurrentTypeParameters [i - offset].Define (gen_params [i]);
foreach (TypeParameter type_param in CurrentTypeParameters) {
if (!type_param.Resolve (this))
return null;
}
Expression current = new SimpleName (
MemberName.Basename, TypeParameters, Location);
current = current.ResolveAsTypeTerminal (this, false);
if (current == null)
return null;
CurrentType = current.Type;
}
#endif
return TypeBuilder;
}