[C#] 관리자 권한으로 상승하여 프로그램 실행

Windows 운영체제는 시스템의 몇가지 중요한 정보를 변경을 수행하기 위해서 관리자 권한으로 실행되어져야 합니다. 예를 들어 COM 기반의 컴포넌트를 등록하기 위한 경우 관리자 권한이 아닌 경우 등록이 실패합니다. 아래의 코드는 C#으로 개발된 프로그램을 실행할 때 관리자 권한으로 프로그램이 실행될 수 있도록 하는데, Program.cs의 Main() 함수에 대한 전체 코드입니다.

위의 코드에서 IsAdministrator 라는 함수가 보이는데요. 이 함수는 아래와 같습니다.

위의 코드에서 참조하는 클래스를 인식하기 위해서는 다음을 import 문이 필요합니다.

Booch and Rumbaugh’s Unified Notation 0.8

UML 탄생 이전에 존재했다고 판단되는, 부치의 Diagram이라고 생각됩니다. 간단하고 명확하며, 특히 개발자에게는 꼭 필요한 내용을 전달하는 좋은 다이어그램 같습니다.


별다른 설명이 없이도 명확합니다. 비록 클래스 관계만을 제시하지만, UML에서 개발자에게 클래스 관계도가 가장 최고의 설계문서 아니겠습니까?

정리하는 차원에서 살펴보면… Base Class를 기준으로하여 .. “Base Class”가(주어) “Used”를 사용하며.. “Had by Reference”와 “Had By Value”를 맴버 변수로 가지고 있는데, 각각 참조(C++에서는 포인터*나 참조형&)으로 가지고 있다는 의미이고 “Derived 1″과 “Derived 2″에 대한 부모 클래스라는 것입니다. 지금의 클래스 관계도(UML에서)를 처음 접하는 초보 사용자에게 있어서 Composition이냐? Aggregation이냐? 라는 애매모한 정의가 없다는 점이 매우 매력적입니다.

한번쯤 숙지해 놓고, 사용해 볼만한 다이어그램이라고 생각됩니다.