本文整理匯總了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;
}