AsmResolver.Tests.Net.TypeSignatureTests.CreateByRefField C# (CSharp) Метод

CreateByRefField() приватный Метод

private CreateByRefField ( ) : void
Результат void
        public void CreateByRefField()
        {
            var assembly = Utilities.CreateTempNetAssembly();
            var typeSystem = assembly.NetDirectory.MetadataHeader.TypeSystem;
            var tableStream = assembly.NetDirectory.MetadataHeader.GetStream<TableStream>();
            var fieldTable = tableStream.GetTable<FieldDefinition>();
            var importer = new ReferenceImporter(tableStream);

            // create field.
            var field = new FieldDefinition(FieldName, FieldAttributes.Public | FieldAttributes.Static,
                new FieldSignature(importer.ImportTypeSignature(new ByReferenceTypeSignature(typeSystem.Int32))));
            fieldTable.Add(field);

            // build and validate.
            assembly = Utilities.RebuildNetAssembly(assembly);
            fieldTable = assembly.NetDirectory.MetadataHeader.GetStream<TableStream>().GetTable<FieldDefinition>();
            field = fieldTable.First(x => x.Name == FieldName);

            Assert.IsInstanceOfType(field.Signature.FieldType, typeof(ByReferenceTypeSignature));
            Utilities.ValidateType(typeof(int).MakeByRefType(), field.Signature.FieldType);
        }