ConstructorInfo 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 sınıf oluşturucusunun özniteliklerini bulur ve oluşturucu meta verilerine erişim sağlar.
public ref class ConstructorInfo abstract : System::Reflection::MethodBase
public ref class ConstructorInfo abstract : System::Reflection::MethodBase, System::Runtime::InteropServices::_ConstructorInfo
public abstract class ConstructorInfo : System.Reflection.MethodBase
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class ConstructorInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._ConstructorInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class ConstructorInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._ConstructorInfo
type ConstructorInfo = class
inherit MethodBase
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type ConstructorInfo = class
inherit MethodBase
interface _ConstructorInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ConstructorInfo = class
inherit MethodBase
interface _ConstructorInfo
Public MustInherit Class ConstructorInfo
Inherits MethodBase
Public MustInherit Class ConstructorInfo
Inherits MethodBase
Implements _ConstructorInfo
- Devralma
- Türetilmiş
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki örnek, belirtilen arama ölçütleriyle eşleşen oluşturucuları bulmak için ve GetConstructorBindingFlags kullanırConstructorInfo.
using System;
using System.Reflection;
using System.Security;
public class MyClass3
{
public MyClass3(int i) { }
public static void Main()
{
try
{
Type myType = typeof(MyClass3);
Type[] types = new Type[1];
types[0] = typeof(int);
// Get the public instance constructor that takes an integer parameter.
ConstructorInfo constructorInfoObj = myType.GetConstructor(
BindingFlags.Instance | BindingFlags.Public, null,
CallingConventions.HasThis, types, null);
if (constructorInfoObj != null)
{
Console.WriteLine("The constructor of MyClass3 that is a public " +
"instance method and takes an integer as a parameter is: ");
Console.WriteLine(constructorInfoObj.ToString());
}
else
{
Console.WriteLine("The constructor of MyClass3 that is a public instance " +
"method and takes an integer as a parameter is not available.");
}
}
catch (ArgumentNullException e)
{
Console.WriteLine("ArgumentNullException: " + e.Message);
}
catch (ArgumentException e)
{
Console.WriteLine("ArgumentException: " + e.Message);
}
catch (SecurityException e)
{
Console.WriteLine("SecurityException: " + e.Message);
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
}
}
Public Class MyClass1
Public Sub New(ByVal i As Integer)
End Sub
Public Shared Sub Main()
Try
Dim myType As Type = GetType(MyClass1)
Dim types(0) As Type
types(0) = GetType(Integer)
' Get the public instance constructor that takes an integer parameter.
Dim constructorInfoObj As ConstructorInfo = _
myType.GetConstructor(BindingFlags.Instance Or _
BindingFlags.Public, Nothing, _
CallingConventions.HasThis, types, Nothing)
If Not (constructorInfoObj Is Nothing) Then
Console.WriteLine("The constructor of MyClass1 that " + _
"is a public instance method and takes an " + _
"integer as a parameter is: ")
Console.WriteLine(constructorInfoObj.ToString())
Else
Console.WriteLine("The constructor MyClass1 that " + _
"is a public instance method and takes an " + _
"integer as a parameter is not available.")
End If
Catch e As ArgumentNullException
Console.WriteLine("ArgumentNullException: " + e.Message)
Catch e As ArgumentException
Console.WriteLine("ArgumentException: " + e.Message)
Catch e As SecurityException
Console.WriteLine("SecurityException: " + e.Message)
Catch e As Exception
Console.WriteLine("Exception: " + e.Message)
End Try
End Sub
End Class
Açıklamalar
ConstructorInfo bir oluşturucunun özniteliklerini bulmak ve bir oluşturucuyu çağırmak için kullanılır. Nesneler, bir nesnenin GetConstructors veya GetConstructor yöntemi tarafından döndürülen bir Type üzerinde çağrılarak Invoke oluşturulur.ConstructorInfo
Note
ConstructorInfo, gibi IsGenericMethodgenel yöntemleri incelemek için kullanılabilecek çeşitli üyelerden MethodBase devralır. .NET Framework sürüm 2.0 oluşturucuları genel olamaz, bu nedenle bu üyeler false veya null döndürür.
Uygulayanlara Notlar
öğesinden ConstructorInfodevraldığınızda, şu üye aşırı yüklemesini geçersiz kılmalısınız: Invoke(BindingFlags, Binder, Object[], CultureInfo).
Oluşturucular
| Name | Description |
|---|---|
| ConstructorInfo() |
ConstructorInfo sınıfının yeni bir örneğini başlatır. |
Alanlar
| Name | Description |
|---|---|
| ConstructorName |
Meta verilerde depolandığı için sınıf oluşturucu yönteminin adını temsil eder. Bu ad her zaman ".ctor" olur. Bu alan salt okunurdur. |
| TypeConstructorName |
Meta verilerde depolandığı için tür oluşturucu yönteminin adını temsil eder. Bu ad her zaman ".cctor" olur. Bu özellik salt okunur durumdadır. |
Özellikler
| Name | Description |
|---|---|
| Attributes |
Bu yöntemle ilişkili öznitelikleri alır. (Devralındığı yer: MethodBase) |
| CallingConvention |
Bu yöntem için çağrı kurallarını gösteren bir değer alır. (Devralındığı yer: MethodBase) |
| ContainsGenericParameters |
Genel yöntemin atanmamış genel tür parametreleri içerip içermediğini belirten bir değer alır. (Devralındığı yer: MethodBase) |
| CustomAttributes |
Bu üyenin özel özniteliklerini içeren bir koleksiyon alır. (Devralındığı yer: MemberInfo) |
| DeclaringType |
Bu üyeyi bildiren sınıfı alır. (Devralındığı yer: MemberInfo) |
| IsAbstract |
Yöntemin soyut olup olmadığını belirten bir değer alır. (Devralındığı yer: MethodBase) |
| IsAssembly |
Bu yöntemin veya oluşturucunun olası görünürlüğünün tarafından Assemblyaçıklanıp açıklanmadığını belirten bir değer alır; diğer bir deyişle, yöntem veya oluşturucu aynı derlemedeki diğer türler için en fazla görünürdür ve derleme dışındaki türetilmiş türler tarafından görünmez. (Devralındığı yer: MethodBase) |
| IsConstructedGenericMethod |
Bir sınıf oluşturucusunun özniteliklerini bulur ve oluşturucu meta verilerine erişim sağlar. (Devralındığı yer: MethodBase) |
| IsConstructor |
Yöntemin bir oluşturucu olup olmadığını belirten bir değer alır. (Devralındığı yer: MethodBase) |
| IsFamily |
Bu yöntemin veya oluşturucunun görünürlüğünün tarafından Familyaçıklanıp açıklanmadığını, yani yöntemin veya oluşturucunun yalnızca sınıfı ve türetilmiş sınıfları içinde görünür olduğunu belirten bir değer alır. (Devralındığı yer: MethodBase) |
| IsFamilyAndAssembly |
Bu yöntemin veya oluşturucunun görünürlüğünün tarafından FamANDAssemaçıklanıp açıklanmadığını belirten bir değer alır; yani, yöntem veya oluşturucu türetilmiş sınıflar tarafından çağrılabilir, ancak yalnızca aynı derlemedeyse. (Devralındığı yer: MethodBase) |
| IsFamilyOrAssembly |
Bu yöntemin veya oluşturucunun olası görünürlüğünün tarafından FamORAssemaçıklanıp açıklanmadığını belirten bir değer alır; başka bir ifadeyle, yöntem veya oluşturucu nerede olurlarsa olsunlar türetilmiş sınıflar ve aynı derlemedeki sınıflar tarafından çağrılabilir. (Devralındığı yer: MethodBase) |
| IsFinal |
Bu yöntemin |
| IsGenericMethod |
Yöntemin genel olup olmadığını belirten bir değer alır. (Devralındığı yer: MethodBase) |
| IsGenericMethodDefinition |
Yöntemin genel bir yöntem tanımı olup olmadığını belirten bir değer alır. (Devralındığı yer: MethodBase) |
| IsHideBySig |
Türetilmiş sınıfta yalnızca aynı türde tam olarak aynı imzaya sahip bir üyenin gizlenip gizlenmediğini belirten bir değer alır. (Devralındığı yer: MethodBase) |
| IsPrivate |
Bu üyenin özel olup olmadığını belirten bir değer alır. (Devralındığı yer: MethodBase) |
| IsPublic |
Bunun genel bir yöntem olup olmadığını belirten bir değer alır. (Devralındığı yer: MethodBase) |
| IsSecurityCritical |
Geçerli yöntemin veya oluşturucunun geçerli güven düzeyinde güvenlik açısından kritik mi yoksa güvenlik açısından güvenli mi olduğunu belirten bir değer alır ve bu nedenle kritik işlemler gerçekleştirebilir. (Devralındığı yer: MethodBase) |
| IsSecuritySafeCritical |
Geçerli yöntemin veya oluşturucunun geçerli güven düzeyinde güvenlik açısından güvenli-kritik olup olmadığını gösteren bir değer alır; başka bir ifadeyle, kritik işlemler gerçekleştirip gerçekleştiremeyeceği ve saydam kodla erişilip erişilemeyeceği. (Devralındığı yer: MethodBase) |
| IsSecurityTransparent |
Geçerli yöntemin veya oluşturucunun geçerli güven düzeyinde saydam olup olmadığını gösteren bir değer alır ve bu nedenle kritik işlemleri gerçekleştiremez. (Devralındığı yer: MethodBase) |
| IsSpecialName |
Bu yöntemin özel bir ada sahip olup olmadığını belirten bir değer alır. (Devralındığı yer: MethodBase) |
| IsStatic |
yönteminin |
| IsVirtual |
yönteminin |
| MemberType |
Bu üyenin bir MemberTypes oluşturucu olduğunu belirten bir değer alır. |
| MetadataToken |
Meta veri öğesini tanımlayan bir değer alır. (Devralındığı yer: MemberInfo) |
| MethodHandle |
Bir yöntemin iç meta veri gösteriminin tanıtıcısını alır. (Devralındığı yer: MethodBase) |
| MethodImplementationFlags |
MethodImplAttributes Bir yöntem uygulamasının özniteliklerini belirten bayrakları alır. (Devralındığı yer: MethodBase) |
| Module |
Geçerli MemberInfo tarafından temsil edilen üyeyi bildiren türün tanımlandığı modülü alır. (Devralındığı yer: MemberInfo) |
| Name |
Geçerli üyenin adını alır. (Devralındığı yer: MemberInfo) |
| ReflectedType |
bu örneğini |
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. |
| GetCustomAttributes(Boolean) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu üyeye uygulanan tüm özel özniteliklerden oluşan bir dizi döndürür. (Devralındığı yer: MemberInfo) |
| GetCustomAttributes(Type, Boolean) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu üyeye uygulanan ve tarafından Typetanımlanan bir özel öznitelik dizisi döndürür. (Devralındığı yer: MemberInfo) |
| GetCustomAttributesData() |
Hedef üyeye CustomAttributeData uygulanmış öznitelikler hakkındaki verileri temsil eden nesnelerin listesini döndürür. (Devralındığı yer: MemberInfo) |
| GetGenericArguments() |
Genel bir yöntemin Type tür bağımsız değişkenlerini veya genel bir yöntem tanımının tür parametrelerini temsil eden bir nesne dizisi döndürür. (Devralındığı yer: MethodBase) |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. |
| GetMethodBody() |
Türetilmiş bir sınıfta geçersiz kılındığında, MSIL akışına, yerel değişkenlere ve geçerli yöntem için özel durumlara erişim sağlayan bir MethodBody nesne alır. (Devralındığı yer: MethodBase) |
| GetMethodImplementationFlags() |
Türetilmiş bir sınıfta geçersiz kılındığında, bayrakları döndürür MethodImplAttributes . (Devralındığı yer: MethodBase) |
| GetParameters() |
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen yöntemin veya oluşturucunun parametrelerini alır. (Devralındığı yer: MethodBase) |
| GetType() |
Bir sınıf oluşturucusunun özniteliklerini bulur ve oluşturucu meta verilerine erişim sağlar. |
| HasSameMetadataDefinitionAs(MemberInfo) |
Bir sınıf oluşturucusunun özniteliklerini bulur ve oluşturucu meta verilerine erişim sağlar. (Devralındığı yer: MemberInfo) |
| Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Türetilmiş bir sınıfta uygulandığında, belirtilen bağımsız değişkenlerle bunun |
| Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Türetilmiş bir sınıfta geçersiz kılındığında, yansıtılan yöntemi veya oluşturucuyu verilen parametrelerle çağırır. (Devralındığı yer: MethodBase) |
| Invoke(Object, Object[]) |
Belirtilen parametreleri kullanarak geçerli örnek tarafından temsil edilen yöntemi veya oluşturucuyu çağırır. (Devralındığı yer: MethodBase) |
| Invoke(Object[]) |
Belirtilen parametrelere sahip olan örnek tarafından yansıtılan oluşturucuyu çağırır ve yaygın olarak kullanılmayan parametreler için varsayılan değerler sağlar. |
| IsDefined(Type, Boolean) |
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen türde veya türetilmiş türlerdeki bir veya daha fazla özniteliğin bu üyeye uygulanıp uygulanmadığını gösterir. (Devralındığı yer: MemberInfo) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
İşleçler
| Name | Description |
|---|---|
| Equality(ConstructorInfo, ConstructorInfo) |
İki ConstructorInfo nesnenin eşit olup olmadığını gösterir. |
| Inequality(ConstructorInfo, ConstructorInfo) |
İki ConstructorInfo nesnenin eşit olup olmadığını gösterir. |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| _ConstructorInfo.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. |
| _ConstructorInfo.GetType() |
Türü temsil eden Type bir ConstructorInfo nesne alır. |
| _ConstructorInfo.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. |
| _ConstructorInfo.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). |
| _ConstructorInfo.Invoke_2(Object, BindingFlags, Binder, Object[], CultureInfo) |
COM nesnelerine yönteme Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) sürümden bağımsız erişim sağlar. |
| _ConstructorInfo.Invoke_3(Object, Object[]) |
COM nesnelerine yönteme Invoke(Object, Object[]) sürümden bağımsız erişim sağlar. |
| _ConstructorInfo.Invoke_4(BindingFlags, Binder, Object[], CultureInfo) |
COM nesnelerine yönteme Invoke(BindingFlags, Binder, Object[], CultureInfo) sürümden bağımsız erişim sağlar. |
| _ConstructorInfo.Invoke_5(Object[]) |
COM nesnelerine yönteme Invoke(Object[]) sürümden bağımsız erişim sağlar. |
| _ConstructorInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar. |
| _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) |
| _MethodBase.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: MethodBase) |
| _MethodBase.GetType() |
Bu üyenin açıklaması için bkz GetType(). . (Devralındığı yer: MethodBase) |
| _MethodBase.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: MethodBase) |
| _MethodBase.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: MethodBase) |
| _MethodBase.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: MethodBase) |
| _MethodBase.IsAbstract |
Bu üyenin açıklaması için bkz IsAbstract. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsAssembly |
Bu üyenin açıklaması için bkz IsAssembly. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsConstructor |
Bu üyenin açıklaması için bkz IsConstructor. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsFamily |
Bu üyenin açıklaması için bkz IsFamily. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsFamilyAndAssembly |
Bu üyenin açıklaması için bkz IsFamilyAndAssembly. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsFamilyOrAssembly |
Bu üyenin açıklaması için bkz IsFamilyOrAssembly. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsFinal |
Bu üyenin açıklaması için bkz IsFinal. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsHideBySig |
Bu üyenin açıklaması için bkz IsHideBySig. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsPrivate |
Bu üyenin açıklaması için bkz IsPrivate. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsPublic |
Bu üyenin açıklaması için bkz IsPublic. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsSpecialName |
Bu üyenin açıklaması için bkz IsSpecialName. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsStatic |
Bu üyenin açıklaması için bkz IsStatic. . (Devralındığı yer: MethodBase) |
| _MethodBase.IsVirtual |
Bu üyenin açıklaması için bkz IsVirtual. . (Devralındığı yer: MethodBase) |
| 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. |
| 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
İş Parçacığı Güvenliği
Bu tür iş parçacığı güvenlidir.