나는이 질문을 편집하려고 : What's the preferred way of exiting a command line program?선호하는 방법 2 부
을하지만 내 편집이 거부되었습니다. 나는 논평 할 수 없으므로 질문을 복제 할 위험이 있습니다.
원래 질문은 "명령 줄 프로그램을 종료하는 가장 좋은 방법은 무엇입니까"입니다. 가장 좋은 방법은 분명히 return
에서 Main()
까지이지만, Console.CancelKeyPress
또는 타이머와 같은 이벤트 처리기를 종료하려면 어떻게해야합니까?
이벤트 처리기의 Environment.Exit()
메서드와 같이 Main()에서 "멀리"벗어나는 유일한 방법은 무엇입니까? Environment.Exit()
은 정리하지 않기 때문에 안전하지 않을 수 있습니다.
예제 코드 :
class Program
{
static void Main(string[] args)
{
Timer t = new Timer(4000);
t.Elapsed += t_Elapsed;
t.Start();
while (true)
{
System.Threading.Thread.Sleep(1000);
}
}
static void t_Elapsed(object sender, ElapsedEventArgs e)
{
// I want to exit here
}
}
이 질문은 새로운 질문이기 때문에 사람들이 업데이트를 보지 않을 것 같지 않은 오래된 질문으로 편집해서는 안됩니다. – Magus
제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야한다"는 것을 참조하십시오. –
종료 코드가 실제로 중요하고 누군가 실제로 사용하려고하면 'Environment.Exit()'를 사용하거나 Main()을 업데이트하여 int (상태 코드 값) 값을 반환해야합니다 OS로 돌아가고 싶다). 그래서 정말로, 그것은 달려 있습니다. –