本文整理汇总了C#中Mono.Cecil.TypeReference.IsTypeSpecification方法的典型用法代码示例。如果您正苦于以下问题:C# TypeReference.IsTypeSpecification方法的具体用法?C# TypeReference.IsTypeSpecification怎么用?C# TypeReference.IsTypeSpecification使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Cecil.TypeReference
的用法示例。
在下文中一共展示了TypeReference.IsTypeSpecification方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AreSame
static bool AreSame(TypeReference a, TypeReference b)
{
if (a.etype != b.etype)
return false;
if (a.IsGenericParameter)
return AreSame ((GenericParameter) a, (GenericParameter) b);
if (a.IsTypeSpecification ())
return AreSame ((TypeSpecification) a, (TypeSpecification) b);
return a.FullName == b.FullName;
}
示例2: ImportType
public TypeReference ImportType (TypeReference type, IGenericContext context)
{
if (type.IsTypeSpecification ())
return ImportTypeSpecification (type, context);
var reference = new TypeReference (
type.Namespace,
type.Name,
module,
ImportScope (type.Scope),
type.IsValueType);
MetadataSystem.TryProcessPrimitiveType (reference);
if (type.IsNested)
reference.DeclaringType = ImportType (type.DeclaringType, context);
if (type.HasGenericParameters)
ImportGenericParameters (reference, type);
return reference;
}
示例3: Import
private TypeReference Import(TypeReference tdef, ModuleDefinition module, IInjector injector)
{
if (tdef.IsTypeSpecification())
throw new NotImplementedException();
var reference = new TypeReference(
tdef.Namespace,
tdef.Name,
module,
module.ImportScope(injector.MapMetadataScope(tdef.Scope)),
tdef.IsValueType);
MetadataSystem.TryProcessPrimitiveTypeReference(reference);
if (tdef.IsNested)
reference.DeclaringType = Import(tdef.DeclaringType, module, injector);
if (tdef.HasGenericParameters)
CecilHelpers.ImportGenericParameters(reference, tdef);
return reference;
}
示例4: AreSame
static bool AreSame (TypeReference a, TypeReference b)
{
if (ReferenceEquals (a, b))
return true;
if (a == null || b == null)
return false;
if (a.etype != b.etype)
return false;
if (a.IsGenericParameter)
return AreSame ((GenericParameter) a, (GenericParameter) b);
if (a.IsTypeSpecification ())
return AreSame ((TypeSpecification) a, (TypeSpecification) b);
if (a.Name != b.Name || a.Namespace != b.Namespace)
return false;
//TODO: check scope
return AreSame (a.DeclaringType, b.DeclaringType);
}
示例5: ImportType
internal TypeReference ImportType(TypeReference type, ImportGenericContext context,
IImportMapper mapper)
{
if (type.IsTypeSpecification())
return ImportTypeSpecification(type, context, mapper);
var mapped = mapper.MapType(type);
if (mapped == null)
mapped = type;
var reference = new TypeReference(
mapped.Namespace,
mapped.Name,
module,
ImportScope(mapper.MapMetadataScope(type.Scope)),
mapped.IsValueType);
MetadataSystem.TryProcessPrimitiveTypeReference(reference);
if (mapped.IsNested)
reference.DeclaringType = ImportType(mapped.DeclaringType, context, mapper);
if (mapped.HasGenericParameters)
ImportGenericParameters(reference, mapped);
return reference;
}