问一个简单问题[STAThread]是什么意思

时间:2022-02-15 02:43:28

http://blog.joycode.com/xinz/archive/2004/08/22/31313.aspx 
http://topic.csdn.net/t/20030312/09/1519728.html
1楼  TheAres   (班门斧)   回复于 2003-03-12 10:21:37  得分 50
)[STAThread]是什么意思?      
  是Single     Thread     Apartment单线程套间      
  是一种线程模型。其它的好像还是MTA(多线程套间)、Free     Thread(*线程)      
  这个属性要加在主     Main     上。这个属性只在     Com     Interop     所用,如果全部是     managed     code     则无用。    
  []是用来表示Attributes   。

Top
2楼  James880   (混子)   回复于 2003-03-12 10:27:58  得分 50
 
  [STAThread]指示应用程序的默认线程模型是单线程单元   (STA)。  
  启动线程模型可设置为单线程单元或多线程单元。如果未对其进行设置,  
  则该线程不被初始化。  
   
  []是用来表示Attributes   。

Top
3楼  xeonwei   (以下信息不对外公开)   回复于 2003-03-12 10:49:29  得分 0
能解释一下   Attributes的原理吗?

Top
4楼  TheAres   (班门斧)   回复于 2003-03-12 11:00:47  得分 0
属性提供功能强大的方法以将声明信息与   C#   代码(类型、方法、属性等等)相关联。与程序实体关联后,属性可在运行时查询,并可以以任意多种方式使用。  
   
  属性的用法示例包括:    
   
  将帮助文档与程序实体关联(通过   Help   属性)。    
  将值编辑器关联到   GUI   框架中的特定类型(通过   ValueEditor   属性)。    
  除一个完整的示例外,本教程还包括以下主题:    
   
  声明属性类   您必须能够做的第一件事是声明属性。    
  使用属性类   创建属性后,接着应将属性与特定程序元素相关联。    
  通过反射访问属性   属性已与某程序元素关联后,可使用反射来查询属性存在及其值。    
   
   
  具体看看帮助:  
  ms-help://MS.NETFrameworkSDK.CHS/csref/html/vcwlkattributestutorial.htm

感谢您使用微软产品。

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.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconadvancedcominterop.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cossdk/htm/pgservices_synchronization_8703.asp

======================
- 微软全球技术中心 微软全球技术中心 VC技术支持

本贴子仅供19b的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
======================