AsmResolver.Net.Signatures.TypeNameParser.ParseType C# (CSharp) Метод

ParseType() публичный статический Метод

public static ParseType ( MetadataHeader header, string name ) : TypeSignature
header MetadataHeader
name string
Результат TypeSignature
        public static TypeSignature ParseType(MetadataHeader header, string name)
        {
            int position = 0;
            var defaultScope = header == null ? null : header.GetStream<TableStream>().GetTable<ModuleDefinition>()[0];
            var type = ReadTypeSignature(defaultScope, name, ref position);

            if (position >= name.Length)
                return type;

            position++;
            SkipSpaces(name, ref position);

            var elementType = ((TypeReference)type.GetElementType());
            while (elementType.DeclaringType != null)
                elementType = (TypeReference)elementType.DeclaringType;

            if (position >= name.Length)
                return type;

            elementType.ResolutionScope = ReadAssemblyReference(name, ref position);

            return type;
        }

Usage Example

Пример #1
0
 /// <summary>
 /// Translates a fully qualified name of a type to a type signature.
 /// </summary>
 /// <param name="image">The image the signature resides in.</param>
 /// <param name="assemblyQualifiedName">The fully qualified name.</param>
 /// <returns>The type signature.</returns>
 public static TypeSignature FromAssemblyQualifiedName(MetadataImage image, string assemblyQualifiedName)
 {
     return(TypeNameParser.ParseType(image, assemblyQualifiedName));
 }