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

ReadAssemblyReference() приватный статический Метод

private static ReadAssemblyReference ( string name, int &position ) : AssemblyReference
name string
position int
Результат AssemblyReference
        private static AssemblyReference ReadAssemblyReference(string name, ref int position)
        {
            var assemblyName = ReadPropertyValue(name, ref position);
            var version = new Version(0, 0, 0, 0);
            string culture = null;
            byte[] token = null;

            while (position < name.Length && name[position] == ',')
            {
                position++;
                SkipSpaces(name, ref position);
                var propertyName = ReadPropertyName(name, ref position);
                position++;
                switch (propertyName.ToLowerInvariant())
                {
                    case "version":
                        version = Version.Parse(ReadPropertyValue(name, ref position));
                        break;
                    case "culture":
                        culture = ReadPropertyValue(name, ref position);
                        break;
                    case "publickeytoken":
                        var value = ReadPropertyValue(name, ref position);
                        if (value != "null")
                            token = HexToByteArray(value);
                        break;
                    default:
                        throw new FormatException();
                }
            }

            return new AssemblyReference(assemblyName, version)
            {
                Culture = culture,
                PublicKey = token != null ? new DataBlobSignature(token) : null,
            };
        }