C#] 프로그램 종료시 무언가를 실행해야 할 때 (AppDomain.CurrentDomain.ProcessExit)


C#] 프로그램 종료시 무언가를 실행해야 할 때 (AppDomain.CurrentDomain.ProcessExit)

Static Class를 만들어두고서 Log를 쌓게 해놓았습니다. 그래서 잘 사용은 하고 있습니다.

콘솔에도 출력하거나, 파일 출력을 하거나, 아니면 또 다른 출력 방식을 통해 출력을 할 수 있도록 심플하게 만들어 둔 상태입니다. LogHelper.Log(~~~) 이런 형태다보니 따로 생성자도 없고, 사실상 소멸자도 없죠.

C#에서는 어떻게 이걸 해결해야하나 싶어서 방법을 찾다보니 나온 것이... AppDomain.CurrentDomain.PrcoessExit라는 delegate에 그냥 메소드를 추가하는 방법이었습니다.

그리고 실제로 적용해보니 잘 작동하네요. static LogHelper() { AppDomain.CurrentDomain.ProcessExit += OnDestory; } 참 프로그래밍하기 좋은 세상에 살고 있는 것 같습니다. 사실 이런 것들은 ChatGPT에 물어봐도 잘 나오기는 하는데, 하도 자주 거짓말을 진짜인 것처럼 떠들어대니 몇번의 대화를 거쳐야 원하는 대답...


#AppDomain #씨패밀리 #씨샵 #씨쁠쁠 #델리게이트 #ProcessExit #Delegate #CurrentDomain #C #정적클래스소멸자

원문링크 : C#] 프로그램 종료시 무언가를 실행해야 할 때 (AppDomain.CurrentDomain.ProcessExit)