mscorlib [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00] 1.0.5000.0 2.0.0.0 4.0.0.0 Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details. System.Enum System.Runtime.InteropServices.ComVisible(true)

An apartment is a logical container within a process for objects sharing the same thread access requirements. All objects in the same apartment can receive calls from any thread in the apartment. The .NET Framework does not use apartments, and managed objects are responsible for using all shared resources in a thread-safe manner themselves.

Because COM classes use apartments, the common language runtime needs to create and initialize an apartment when calling a COM object in a COM interop situation. A managed thread can create and enter a single-threaded apartment (STA) that allows only one thread, or a multithreaded apartment (MTA) that contains one or more threads. You can control the type of apartment created by setting the property of the thread to one of the values of the enumeration. Because a given thread can only initialize a COM apartment once, you cannot change the apartment type after the first call to the unmanaged code.

For more information, see , [<topic://cpconManagedUnmanagedThreading>], and Advanced COM Interoperability.

Specifies the apartment state of a .

- Field
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Threading.ApartmentState To be added

  The will create and enter a multithreaded apartment.

- Field
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Threading.ApartmentState To be added

  The will create and enter a single-threaded apartment.

- Field
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Threading.ApartmentState To be added

  The property has not been set.