MTAThreadAttribute 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 uygulama için COM iş parçacığı oluşturma modelinin çok iş parçacıklı daire (MTA) olduğunu gösterir.
public ref class MTAThreadAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class MTAThreadAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class MTAThreadAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type MTAThreadAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MTAThreadAttribute = class
inherit Attribute
Public NotInheritable Class MTAThreadAttribute
Inherits Attribute
- Devralma
- Öznitelikler
Açıklamalar
Bu özniteliği giriş noktası yöntemine (C# ve Visual Basic Main() yöntemi) uygulayın. Diğer yöntemler üzerinde hiçbir etkisi yoktur. Kodunuzda başladığınız iş parçacıklarının daire durumunu ayarlamak için, iş parçacığını Thread.SetApartmentState başlatmadan önce veya Thread.TrySetApartmentState yöntemini kullanın.
COM iş parçacığı oluşturma modelleri yalnızca COM birlikte çalışma kullanan uygulamalar için geçerlidir. COM iş parçacığı oluşturma modeli tek iş parçacıklı daireye veya çok iş parçacıklı daireye ayarlanabilir. Uygulama iş parçacığı yalnızca iş parçacığı aslında bir COM bileşenine çağrı yaparsa COM birlikte çalışma için başlatılır. COM birlikte çalışma kullanılmazsa, iş parçacığı başlatılmaz ve MTAThreadAttribute varsa özniteliğinin hiçbir etkisi olmaz.
COM birlikte çalışma için varsayılan iş parçacığı modeli, aşağıdaki tabloda gösterildiği gibi uygulamanızı geliştirmekte olduğunuz dile bağlıdır.
| Language | COM daire modeli |
|---|---|
| C# | Çok iş parçacıklı daire |
| C++ | Çok iş parçacıklı daire |
| Visual Basic | Tek iş parçacıklı daire |
Bu varsayılanları değiştirmek için özniteliğini MTAThreadAttribute kullanarak uygulamanın iş parçacığı modelini ayarlayabilir veya iş parçacığını Thread.SetApartmentState başlatmadan önce veya Thread.TrySetApartmentState yöntemini çağırarak belirli bir iş parçacığı için iş parçacığı modelini ayarlayabilirsiniz. C++'ta, daire modelini belirtmek için /CLRTHREADATTRIBUTE (CLR İş Parçacığı Özniteliğini Ayarla) bağlayıcı seçeneğini de kullanabilirsiniz.
MTAThreadAttribute Aşağıdaki durumlarda iş parçacığı modelini çok iş parçacıklı bir daireye açıkça ayarlamak için özniteliğini kullanın:
- C# kitaplığını çağıran ve com birlikte çalışma özelliğini kullanan bir Visual Basic uygulaması geliştireceksiniz. C# için çok iş parçacıklı daire modeli varsayılan olduğundan, özniteliğini kullanarak uygulamanızın iş parçacığı modelini çok iş parçacıklı olarak MTAThreadAttribute değiştirmeniz gerekir.
- Uygulamanız, çok iş parçacıklı daire modelini kullanan COM bileşenlerine çağrı yapar.
Oluşturucular
| Name | Description |
|---|---|
| MTAThreadAttribute() |
MTAThreadAttribute sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
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: Attribute) |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. (Devralındığı yer: Attribute) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
| Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| 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) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| _Attribute.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: Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır. (Devralındığı yer: Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: Attribute) |
| _Attribute.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: Attribute) |