本文整理匯總了C#中Mono.Cecil.TypeReference.GetOriginalType方法的典型用法代碼示例。如果您正苦於以下問題:C# TypeReference.GetOriginalType方法的具體用法?C# TypeReference.GetOriginalType怎麽用?C# TypeReference.GetOriginalType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Mono.Cecil.TypeReference
的用法示例。
在下文中一共展示了TypeReference.GetOriginalType方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Resolve
public TypeDefinition Resolve (TypeReference type)
{
type = type.GetOriginalType ();
if (type is TypeDefinition)
return (TypeDefinition) type;
AssemblyNameReference reference = type.Scope as AssemblyNameReference;
if (reference != null) {
AssemblyDefinition assembly = AssemblyResolver.Resolve (reference);
if (assembly == null)
return null;
return Resolve (assembly.MainModule, type);
}
ModuleDefinition module = type.Scope as ModuleDefinition;
if (module != null)
return Resolve (module, type);
ModuleReference mod_reference = type.Scope as ModuleReference;
if (mod_reference != null) {
foreach (ModuleDefinition netmodule in type.Module.Assembly.Modules)
if (netmodule.Name == mod_reference.Name)
return Resolve (netmodule, type);
}
throw new NotImplementedException ();
}
示例2: Resolve
public TypeDefinition Resolve (TypeReference type)
{
type = type.GetOriginalType ();
if (type is TypeDefinition)
return (TypeDefinition) type;
AssemblyNameReference reference = type.Scope as AssemblyNameReference;
if (reference != null) {
AssemblyDefinition assembly = Resolve (reference);
return assembly.MainModule.Types [type.FullName];
}
ModuleDefinition module = type.Scope as ModuleDefinition;
if (module != null)
return module.Types [type.FullName];
throw new NotImplementedException ();
}
示例3: IsVisibleFrom
bool IsVisibleFrom (TypeDefinition type, TypeReference reference)
{
if (reference == null)
return true;
if (reference is GenericParameter || reference.GetOriginalType () is GenericParameter)
return true;
TypeDefinition other = reference.Resolve ();
if (other == null)
return true;
if (!AreInDifferentAssemblies (type, other))
return true;
if (IsPublic (other))
return true;
return false;
}