FieldBuilder Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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 |
| IsPinvokeImpl |
İlgili |
| 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 |
| 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ı |
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. |