[STAThread] 어트리뷰트는 뭘 의미하는거지?
using System;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
namespace Petzold.DisplaySomeText
{
public class DisplaySomeText : Window
{
[STAThread]
public static void Main()
{
Application app = new Application();
app.Run(new DisplaySomeText());
}
public DisplaySomeText()
{
Title = "Display Some Text";
Content = "Content can be simple text!";
}
}
}
와 같은 C# 코드에서 [STAThread] 가 의미하는 바는 :
기본적으로, VS .NET에 의해 만들어진 응용 프로그램의 Main()메소드에는 [STAThread] 어트리뷰트가 첨가되어 있다.
이 어트리뷰트는 해당 응용 프로그램이 COM형식을 이용하는 경우에 (단지 이 경우에만 해당하는 것인데) 해당 응용 프로그램이
단일 스레드 아파트(single threaded apartment, STA) 모델로 설정되어야 한다는 것을 런타임에게 알려주는 역할을 한다.
해당 응용 프로그램에서 COM 형식을 이용하지 않는다면, [STAThread] 어트리뷰트는 무시되기 때문에 삭제해도 무방하다.
Trackback Address:이 글에는 트랙백을 보낼 수 없습니다