在c#控制台程序中的Main()方法的前面,有一个[STAThread]表示什么意思?它对控制台程序有什么影响?         [STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
// }

解决方案 »

  1.   

    STAThread] attribute指示应用程序的 COM 线程模型是单线程单元
     若为多线程单元则是 [MTAThread]
     
     COM 线程模型只适用于使用 COM interop 的应用程序。如果将此属性应用到不使用 COM interop 的应用程序,将没有任何效果。
     
     COM 线程模型可设置为单线程单元或多线程单元。如果应用程序线程实际调用了 COM 组件,则仅为 COM interop 初始化该线程。如果没有使用 COM interop,则不初始化该线程。
     
      

  2.   

    [STAThread]表示应用程序主函数,就是应用程序入口
      

  3.   

    指示应用程序的 COM 线程模型是单线程单元 (STA)。
      

  4.   

    TO: Kanderliu(卖男孩的小女孩)
    你说的不太对。我把它删除了,程序照样可以呀!!
      

  5.   

    恩  这个问题倒是没有想过
    我觉得有一个main()主函数做入口就可以了
    那么[STAThread]应该是有其他用途的
      

  6.   

    看ty58801283(小新),Chiewen(寒心踏雪) 告你的,
    这个特性就是表示应用程序的 COM 线程模型是单线程单元 (STA)。
      

  7.   

    在进一步问一下:
    如同 ty58801283(小新)说的那样:究竟这个“使用 COM interop 的应用程序”是一个什么样的应用程序,有人用过COM interop 吗?介绍一下
      

  8.   

    有人用过COM interop 吗?介绍一下