FieldBuilder Sınıf

Tanım

Bir alanı tanımlar ve temsil eder. Bu sınıf devralınamaz.

public ref class FieldBuilder abstract : System::Reflection::FieldInfo
public ref class FieldBuilder sealed : System::Reflection::FieldInfo
public ref class FieldBuilder sealed : System::Reflection::FieldInfo, System::Runtime::InteropServices::_FieldBuilder
public abstract class FieldBuilder : System.Reflection.FieldInfo
public sealed class FieldBuilder : System.Reflection.FieldInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class FieldBuilder : System.Reflection.FieldInfo, System.Runtime.InteropServices._FieldBuilder
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FieldBuilder : System.Reflection.FieldInfo, System.Runtime.InteropServices._FieldBuilder
type FieldBuilder = class
    inherit FieldInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type FieldBuilder = class
    inherit FieldInfo
    interface _FieldBuilder
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FieldBuilder = class
    inherit FieldInfo
    interface _FieldBuilder
Public MustInherit Class FieldBuilder
Inherits FieldInfo
Public NotInheritable Class FieldBuilder
Inherits FieldInfo
Public NotInheritable Class FieldBuilder
Inherits FieldInfo
Implements _FieldBuilder
Devralma
FieldBuilder
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnekte sınıfının kullanımı gösterilmektedir FieldBuilder .

using System;
using System.Reflection;
using System.Reflection.Emit;

public class FieldBuilder_Sample
{
    private static Type? CreateType()
    {
        // Create an assembly.
        AssemblyName assemName = new AssemblyName();
        assemName.Name = "DynamicAssembly";
        AssemblyBuilder assemBuilder =
                       AssemblyBuilder.DefineDynamicAssembly(assemName, AssemblyBuilderAccess.Run);
        // Create a dynamic module in Dynamic Assembly.
        ModuleBuilder modBuilder = assemBuilder.DefineDynamicModule("DynamicModule");
        // Define a public class named "DynamicClass" in the assembly.
        TypeBuilder typBuilder = modBuilder.DefineType("DynamicClass", TypeAttributes.Public);

        // Define a private String field named "DynamicField" in the type.
        FieldBuilder fldBuilder = typBuilder.DefineField("DynamicField",
            typeof(string), FieldAttributes.Private | FieldAttributes.Static);
        // Create the constructor.
        Type[] constructorArgs = { typeof(String) };
        ConstructorBuilder constructor = typBuilder.DefineConstructor(
           MethodAttributes.Public, CallingConventions.Standard, constructorArgs);
        ILGenerator constructorIL = constructor.GetILGenerator();
        constructorIL.Emit(OpCodes.Ldarg_0);
        ConstructorInfo? superConstructor = typeof(Object).GetConstructor(new Type[0]);
        constructorIL.Emit(OpCodes.Call, superConstructor!);
        constructorIL.Emit(OpCodes.Ldarg_0);
        constructorIL.Emit(OpCodes.Ldarg_1);
        constructorIL.Emit(OpCodes.Stfld, fldBuilder);
        constructorIL.Emit(OpCodes.Ret);

        // Create the DynamicMethod method.
        MethodBuilder methBuilder = typBuilder.DefineMethod("DynamicMethod",
                             MethodAttributes.Public, typeof(String), null);
        ILGenerator methodIL = methBuilder.GetILGenerator();
        methodIL.Emit(OpCodes.Ldarg_0);
        methodIL.Emit(OpCodes.Ldfld, fldBuilder);
        methodIL.Emit(OpCodes.Ret);

        Console.WriteLine($"Name               : {fldBuilder.Name}");
        Console.WriteLine($"DeclaringType      : {fldBuilder.DeclaringType}");
        Console.WriteLine($"Type               : {fldBuilder.FieldType}");
        return typBuilder.CreateType();
    }

    public static void Main()
    {
        Type? dynType = CreateType();
        try
        {
            if (dynType is not null)
            {
                // Create an instance of the "HelloWorld" class.
                Object? helloWorld = Activator.CreateInstance(dynType, new Object[] { "HelloWorld" });
                // Invoke the "DynamicMethod" method of the "DynamicClass" class.
                Object? obj = dynType.InvokeMember("DynamicMethod",
                               BindingFlags.InvokeMethod, null, helloWorld, null);
                Console.WriteLine($"DynamicClass.DynamicMethod returned: \"{obj}\"");
            }
        }
        catch (MethodAccessException e)
        {
            Console.WriteLine($"{e.GetType().Name}: {e.Message}");
        }
    }
}
Imports System.Reflection
Imports System.Reflection.Emit

Public Module FieldBuilder_Sample
   Private Function CreateType() As Type
      ' Create an assembly.
      Dim assemName As New AssemblyName()
      assemName.Name = "DynamicAssembly"
      Dim assemBuilder As AssemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(assemName,
                                                AssemblyBuilderAccess.Run)
      ' Create a dynamic module in Dynamic Assembly.
      Dim modBuilder As ModuleBuilder = assemBuilder.DefineDynamicModule("DynamicModule")
      ' Define a public class named "DynamicClass" in the assembly.
      Dim typBuilder As TypeBuilder = modBuilder.DefineType("DynamicClass", 
                                          TypeAttributes.Public)
      ' Define a private String field named "DynamicField" in the type.
      Dim fldBuilder As FieldBuilder = typBuilder.DefineField("DynamicField",
                  GetType(String), FieldAttributes.Private Or FieldAttributes.Static)
      ' Create the constructor.
      Dim constructorArgs As Type() = {GetType(String)}
      Dim constructor As ConstructorBuilder = 
                  typBuilder.DefineConstructor(MethodAttributes.Public, 
                           CallingConventions.Standard, constructorArgs)
      Dim constructorIL As ILGenerator = constructor.GetILGenerator()
      constructorIL.Emit(OpCodes.Ldarg_0)
      Dim superConstructor As ConstructorInfo = GetType(Object).GetConstructor(New Type() {})
      constructorIL.Emit(OpCodes.Call, superConstructor)
      constructorIL.Emit(OpCodes.Ldarg_0)
      constructorIL.Emit(OpCodes.Ldarg_1)
      constructorIL.Emit(OpCodes.Stfld, fldBuilder)
      constructorIL.Emit(OpCodes.Ret)

      ' Create the DynamicMethod method.
      Dim methBuilder As MethodBuilder = typBuilder.DefineMethod("DynamicMethod", 
                        MethodAttributes.Public, GetType(String), Nothing)
      Dim methodIL As ILGenerator = methBuilder.GetILGenerator()
      methodIL.Emit(OpCodes.Ldarg_0)
      methodIL.Emit(OpCodes.Ldfld, fldBuilder)
      methodIL.Emit(OpCodes.Ret)

      Console.WriteLine($"Name               : {fldBuilder.Name}")
      Console.WriteLine($"DeclaringType      : {fldBuilder.DeclaringType}")
      Console.WriteLine($"Type               : {fldBuilder.FieldType}")
      Return typBuilder.CreateType()
   End Function 

   Public Sub Main()
      Dim dynType As Type = CreateType()
      Try  
        ' Create an instance of the "HelloWorld" class.
         Dim helloWorld As Object = Activator.CreateInstance(dynType, New Object() {"HelloWorld"})
         ' Invoke the "DynamicMethod" method of the "DynamicClass" class.
         Dim obj As Object = dynType.InvokeMember("DynamicMethod", 
                  BindingFlags.InvokeMethod, Nothing, helloWorld, Nothing)
         Console.WriteLine($"DynamicClass.DynamicMethod returned: ""{obj}""")
      Catch e As MethodAccessException
            Console.WriteLine($"{e.GetType().Name}: {e.Message}")
      End Try
   End Sub 
End Module

Açıklamalar

, veya çağırarak FieldBuilderörneğini DefineField alın.DefineInitializedDataDefineUninitializedData

Note

SetValue Yöntemi şu anda desteklenmiyor. Geçici bir çözüm olarak, tamamlanan türü yansıtarak değerini alın FieldInfo ve alanın değerini ayarlamak için öğesini çağırın SetValue .

Oluşturucular

Name Description
FieldBuilder()

FieldBuilder sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
Attributes

Bu alanın özniteliklerini gösterir. Bu özellik salt okunur durumdadır.

CustomAttributes

Bu üyenin özel özniteliklerini içeren bir koleksiyon alır.

(Devralındığı yer: MemberInfo)
DeclaringType

Bu alanı bildiren türün nesnesine başvuruyu Type gösterir. Bu özellik salt okunur durumdadır.

FieldHandle

Bu alanın iç meta veri tutamacını gösterir. Bu özellik salt okunur durumdadır.

FieldType

Type Bu alanın türünü temsil eden nesneyi gösterir. Bu özellik salt okunur durumdadır.

IsAssembly

Bu alanın olası görünürlüğünün tarafından Assemblyaçıklanıp açıklanmadığını belirten bir değer alır; başka bir deyişle, alan aynı derlemedeki diğer türlere en fazla görünür ve derleme dışındaki türetilmiş türler tarafından görünmez.

(Devralındığı yer: FieldInfo)
IsCollectible

Bu MemberInfo nesnenin bir collectible AssemblyLoadContextiçinde tutulan bir veya daha fazla derlemeye başvurup başvurmadığını gösteren bir değer alır.

(Devralındığı yer: MemberInfo)
IsFamily

Bu alanın görünürlüğünün tarafından Familyaçıklanıp açıklanmadığını, yani alanın yalnızca kendi sınıfı ve türetilmiş sınıflar içinde görünür olup olmadığını belirten bir değer alır.

(Devralındığı yer: FieldInfo)
IsFamilyAndAssembly

Bu alanın görünürlüğünün tarafından FamANDAssemaçıklanıp açıklanmadığını belirten bir değer alır; yani, alana türetilmiş sınıflardan erişilebilir, ancak yalnızca aynı derlemede olmaları gerekir.

(Devralındığı yer: FieldInfo)
IsFamilyOrAssembly

Bu alanın olası görünürlüğünün tarafından açıklanıp açıklanmadığını FamORAssembelirten bir değer alır; yani, alana nerede olurlarsa olsunlar türetilmiş sınıflar ve aynı derlemedeki sınıflar tarafından erişilebilir.

(Devralındığı yer: FieldInfo)
IsInitOnly

Alanın yalnızca oluşturucunun gövdesinde ayarlanıp ayarlanamayacağını belirten bir değer alır.

(Devralındığı yer: FieldInfo)
IsLiteral

Değerin derleme zamanında yazıp yazılmadığını ve değiştirilemeyeceğini belirten bir değer alır.

(Devralındığı yer: FieldInfo)
IsNotSerialized
Geçersiz.

Bu alanın özniteliğine sahip NotSerialized olup olmadığını gösteren bir değer alır.

(Devralındığı yer: FieldInfo)
IsPinvokeImpl

İlgili PinvokeImpl özniteliğin içinde FieldAttributesayarlanıp ayarlanmadığını belirten bir değer alır.

(Devralındığı yer: FieldInfo)
IsPrivate

Alanın özel olup olmadığını belirten bir değer alır.

(Devralındığı yer: FieldInfo)
IsPublic

Alanın genel olup olmadığını belirten bir değer alır.

(Devralındığı yer: FieldInfo)
IsSecurityCritical

Geçerli alanın geçerli güven düzeyinde güvenlik açısından kritik mi yoksa güvenlik açısından güvenli mi olduğunu gösteren bir değer alır.

(Devralındığı yer: FieldInfo)
IsSecuritySafeCritical

Geçerli alanın geçerli güven düzeyinde güvenlik açısından güvenli-kritik olup olmadığını gösteren bir değer alır.

(Devralındığı yer: FieldInfo)
IsSecurityTransparent

Geçerli alanın geçerli güven düzeyinde saydam olup olmadığını gösteren bir değer alır.

(Devralındığı yer: FieldInfo)
IsSpecialName

İlgili SpecialName özniteliğin numaralandırıcıda ayarlanıp ayarlanmadığını FieldAttributes belirten bir değer alır.

(Devralındığı yer: FieldInfo)
IsStatic

Alanın statik olup olmadığını belirten bir değer alır.

(Devralındığı yer: FieldInfo)
MemberType

Bu üyenin bir MemberTypes alan olduğunu belirten bir değer alır.

(Devralındığı yer: FieldInfo)
MetadataToken

Meta verilerdeki geçerli dinamik modülü tanımlayan bir belirteç alır.

MetadataToken

Meta veri öğesini tanımlayan bir değer alır.

(Devralındığı yer: MemberInfo)
Module

Bu alanı içeren türün tanımlandığı modülü alır.

Module

Geçerli MemberInfo tarafından temsil edilen üyeyi bildiren türün tanımlandığı modülü alır.

(Devralındığı yer: MemberInfo)
Name

Bu alanın adını gösterir. Bu özellik salt okunur durumdadır.

ReflectedType

Bu nesnenin alındığı nesneye Type başvuruyu gösterir. Bu özellik salt okunur durumdadır.

Yöntemler

Name Description
Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: FieldInfo)
GetCustomAttributes(Boolean)

Bu alan için tanımlanan tüm özel öznitelikleri döndürür.

GetCustomAttributes(Type, Boolean)

Verilen tür tarafından tanımlanan bu alan için tanımlanan tüm özel öznitelikleri döndürür.

GetCustomAttributesData()

Hedef üyeye CustomAttributeData uygulanmış öznitelikler hakkındaki verileri temsil eden nesnelerin listesini döndürür.

(Devralındığı yer: MemberInfo)
GetHashCode()

Bu örneğin karma kodunu döndürür.

(Devralındığı yer: FieldInfo)
GetModifiedFieldType()

Bu alan nesnesinin değiştirilmiş türünü alır.

(Devralındığı yer: FieldInfo)
GetOptionalCustomModifiers()

Alanın isteğe bağlı özel değiştiricilerini tanımlayan bir tür dizisi alır.

(Devralındığı yer: FieldInfo)
GetRawConstantValue()

Bir derleyici tarafından alanla ilişkilendirilmiş bir değişmez değer döndürür.

(Devralındığı yer: FieldInfo)
GetRequiredCustomModifiers()

Özelliğin gerekli özel değiştiricilerini tanımlayan bir tür dizisi alır.

(Devralındığı yer: FieldInfo)
GetToken()

Bu alanı temsil eden belirteci döndürür.

GetType()

Sınıf alanının özniteliklerini bulur ve alan meta verilerine erişim sağlar.

(Devralındığı yer: FieldInfo)
GetValue(Object)

Verilen nesne tarafından desteklenen alanın değerini alır.

GetValueDirect(TypedReference)

Belirli bir nesne tarafından desteklenen bir alanın değerini döndürür.

(Devralındığı yer: FieldInfo)
HasSameMetadataDefinitionAs(MemberInfo)

Bir alanı tanımlar ve temsil eder. Bu sınıf devralınamaz.

(Devralındığı yer: MemberInfo)
IsDefined(Type, Boolean)

Belirtilen türe sahip bir özniteliğin bir alanda tanımlanıp tanımlanmadığını gösterir.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
SetConstant(Object)

Bu alanın varsayılan değerini ayarlar.

SetConstantCore(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu alanın varsayılan değerini ayarlar.

SetCustomAttribute(ConstructorInfo, Byte[])

Belirtilen özel öznitelik blobu kullanarak özel bir öznitelik ayarlar.

SetCustomAttribute(CustomAttributeBuilder)

Özel öznitelik oluşturucu kullanarak özel bir öznitelik ayarlar.

SetCustomAttributeCore(ConstructorInfo, ReadOnlySpan<Byte>)

Türetilmiş bir sınıfta geçersiz kılındığında, bu derlemede özel bir öznitelik ayarlar.

SetMarshal(UnmanagedMarshal)
Geçersiz.

Alanın yerel sıralamasını açıklar.

SetOffset(Int32)

Alan düzenini belirtir.

SetOffsetCore(Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, alan düzenini belirtir.

SetValue(Object, Object, BindingFlags, Binder, CultureInfo)

Verilen nesne tarafından desteklenen alanın değerini ayarlar.

SetValue(Object, Object)

Verilen nesne tarafından desteklenen alanın değerini ayarlar.

(Devralındığı yer: FieldInfo)
SetValueDirect(TypedReference, Object)

Verilen nesne tarafından desteklenen alanın değerini ayarlar.

(Devralındığı yer: FieldInfo)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
_FieldBuilder.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

_FieldBuilder.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.

_FieldBuilder.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

_FieldBuilder.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar.

_FieldInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: FieldInfo)
_FieldInfo.GetType()

Türü temsil eden Type bir FieldInfo nesne alır.

(Devralındığı yer: FieldInfo)
_FieldInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.

(Devralındığı yer: FieldInfo)
_FieldInfo.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: FieldInfo)
_FieldInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: FieldInfo)
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: MemberInfo)
_MemberInfo.GetType()

Sınıfını temsil eden Type bir MemberInfo nesne alır.

(Devralındığı yer: MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.

(Devralındığı yer: MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Adlandırılmış öznitelikler hariç olmak üzere bu üyede tanımlanan tüm özel özniteliklerden oluşan bir dizi veya özel öznitelik yoksa boş bir dizi döndürür.

(Devralındığı yer: MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Bu üyede tanımlanan, türe göre tanımlanan bir özel öznitelik dizisi veya bu türdeki özel öznitelikler yoksa boş bir dizi döndürür.

(Devralındığı yer: MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Bir veya daha fazla örneğinin bu üyede tanımlanıp tanımlanmadığını attributeType gösterir.

(Devralındığı yer: MemberInfo)

Uzantı Metotları

Name Description
GetCustomAttribute(MemberInfo, Type, Boolean)

Belirtilen bir üyeye uygulanan belirtilen türdeki özel özniteliği alır ve isteğe bağlı olarak bu üyenin atalarını inceler.

GetCustomAttribute(MemberInfo, Type)

Belirtilen üyeye uygulanan belirtilen türde bir özel özniteliği alır.

GetCustomAttribute<T>(MemberInfo, Boolean)

Belirtilen bir üyeye uygulanan belirtilen türdeki özel özniteliği alır ve isteğe bağlı olarak bu üyenin atalarını inceler.

GetCustomAttribute<T>(MemberInfo)

Belirtilen üyeye uygulanan belirtilen türde bir özel özniteliği alır.

GetCustomAttributes(MemberInfo, Boolean)

Belirli bir üyeye uygulanan özel öznitelikler koleksiyonunu alır ve isteğe bağlı olarak bu üyenin atalarını inceler.

GetCustomAttributes(MemberInfo, Type, Boolean)

Belirtilen bir üyeye uygulanan belirtilen türdeki özel özniteliklerden oluşan bir koleksiyonu alır ve isteğe bağlı olarak bu üyenin atalarını inceler.

GetCustomAttributes(MemberInfo, Type)

Belirtilen üyeye uygulanan belirtilen türde özel özniteliklerden oluşan bir koleksiyonu alır.

GetCustomAttributes(MemberInfo)

Belirtilen üyeye uygulanan özel öznitelik koleksiyonunu alır.

GetCustomAttributes<T>(MemberInfo, Boolean)

Belirtilen bir üyeye uygulanan belirtilen türdeki özel özniteliklerden oluşan bir koleksiyonu alır ve isteğe bağlı olarak bu üyenin atalarını inceler.

GetCustomAttributes<T>(MemberInfo)

Belirtilen üyeye uygulanan belirtilen türde özel özniteliklerden oluşan bir koleksiyonu alır.

GetMetadataToken(MemberInfo)

Varsa, verilen üye için bir meta veri belirteci alır.

HasMetadataToken(MemberInfo)

Belirtilen üye için bir meta veri belirtecinin kullanılabilir olup olmadığını gösteren bir değer döndürür.

IsDefined(MemberInfo, Type, Boolean)

Belirtilen türde özel özniteliklerin belirtilen bir üyeye uygulanıp uygulanmadığını ve isteğe bağlı olarak üst öğeye uygulanıp uygulanmadığını gösterir.

IsDefined(MemberInfo, Type)

Belirtilen türde özel özniteliklerin belirtilen üyeye uygulanıp uygulanmadığını gösterir.

Şunlara uygulanır