在C#有一个困惑了很久的一个问题
随便新建一个工程
[STAThread]
static void Main() 
{
   Application.Run(new Form1());
}
都回又这样的代码请问[STAThread]是什么意思?这儿的[]有怎么解释呢,在好多地方都看到过
这个[](数组除外),比如AssemblyInfo.cs类里都是,请问[]怎用呢?

解决方案 »

  1.   

    []括起来的是属性(Attributes)
    C#的关键字 STAThread即 single-threaded apartment。
    每个Thread都有一个关于ApartmentState的属性,可以把它设置为:STA或者MTA,或者UNKNOWN。当你想指定工程的启动窗口的时候,你需要在该窗口类中申明一个Main()方法,并为这个方法设置[STAThread]属性。详细信息,清查阅MSDN中关于Threading和COM Interop和COM+ Apartment Model的文章:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconmanagedunmanagedthreading.asphttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconadvancedcominterop.asphttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/cossdk/htm/pgservices_synchronization_8703.asp