MTAThreadAttributeとは? わかりやすく解説

MTAThreadAttribute クラス

アプリケーションの COM スレッド モデルがマルチスレッド アパートメント (MTA: Multithreaded Apartment) であることを示します。

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<AttributeUsageAttribute(AttributeTargets.Method)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 MTAThreadAttribute
    Inherits Attribute
Dim instance As MTAThreadAttribute
[AttributeUsageAttribute(AttributeTargets.Method)] 
[ComVisibleAttribute(true)] 
public sealed class MTAThreadAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method)] 
[ComVisibleAttribute(true)] 
public ref class MTAThreadAttribute sealed
 : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Method) */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class MTAThreadAttribute extends
 Attribute
AttributeUsageAttribute(AttributeTargets.Method) 
ComVisibleAttribute(true) 
public final class MTAThreadAttribute extends
 Attribute
解説解説

この属性をエントリ ポイント メソッド (C# および Visual Basic では Main() メソッド) に適用します。他のメソッドには影響ありません。コードで開始するスレッドのアパートメント状態を設定するには、スレッドを設定する前に Thread.SetApartmentState メソッドを使用します。

メモメモ

.NET Framework Version 1.0 および 1.1 では、スレッドを開始する前に Thread.ApartmentState プロパティを設定します。

COM スレッド モデルは COM 相互運用機能を使用するアプリケーションにだけ関係します。COM 相互運用機能を使用しないアプリケーションでこの属性を使用しても無効です。

COM スレッド モデルは、シングルスレッド アパートメントにもマルチスレッド アパートメントにも設定できます。アプリケーション スレッドは、スレッドが実際に COM コンポーネントに対する呼び出しを行った場合にだけ、COM 相互運用機能に対して初期化されます。COM 相互運用機能を使用しない場合、スレッドは初期化されません。

.NET Framework Version 1.0 および 1.1 では、最初のコード行で Thread.ApartmentState プロパティを設定する代わりに、この属性を Main() に使用することにより、スタートアップ コードの実行前にスレッド処理モデルを確実に設定します。

.NET Framework Version 2.0 からは、/CLRTHREADATTRIBUTE (CLR スレッド属性の設定) リンカ オプションを使用して C++ アプリケーション用の COM スレッド処理モデルを指定することもできます。

ページが STA スレッド プールで強制的に提供されるように、ASP.NET アプリケーションでは、@ Page ディレクティブの ASPCompat 属性を true に設定する必要があります。

継承階層継承階層
System.Object
   System.Attribute
    System.MTAThreadAttribute
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
MTAThreadAttribute メンバ
System 名前空間
STAThreadAttribute

MTAThreadAttribute コンストラクタ


MTAThreadAttribute プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ TypeId  派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。 ( Attribute から継承されます。)
参照参照

関連項目

MTAThreadAttribute クラス
System 名前空間
STAThreadAttribute

MTAThreadAttribute メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド Equals  オーバーロードされます。 ( Attribute から継承されます。)
パブリック メソッド GetCustomAttribute  オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 ( Attribute から継承されます。)
パブリック メソッド GetCustomAttributes  オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 ( Attribute から継承されます。)
パブリック メソッド GetHashCode  このインスタンスのハッシュ コードを返します。 ( Attribute から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IsDefaultAttribute  派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 ( Attribute から継承されます。)
パブリック メソッド IsDefined  オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 ( Attribute から継承されます。)
パブリック メソッド Match  派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 ( Attribute から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
参照参照

関連項目

MTAThreadAttribute クラス
System 名前空間
STAThreadAttribute

MTAThreadAttribute メンバ

アプリケーションの COM スレッド モデルがマルチスレッド アパートメント (MTA: Multithreaded Apartment) であることを示します。

MTAThreadAttribute データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド MTAThreadAttribute MTAThreadAttribute クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ TypeId  派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。(Attribute から継承されます。)
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド Equals  オーバーロードされます。 ( Attribute から継承されます。)
パブリック メソッド GetCustomAttribute  オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 (Attribute から継承されます。)
パブリック メソッド GetCustomAttributes  オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 (Attribute から継承されます。)
パブリック メソッド GetHashCode  このインスタンスのハッシュ コードを返します。 (Attribute から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IsDefaultAttribute  派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。)
パブリック メソッド IsDefined  オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 (Attribute から継承されます。)
パブリック メソッド Match  派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
参照参照

関連項目

MTAThreadAttribute クラス
System 名前空間
STAThreadAttribute



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「MTAThreadAttribute」の関連用語

MTAThreadAttributeのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   



MTAThreadAttributeのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS