본문 바로가기

스크랩

C#의 새 기능: Optional Parameter

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

출처: http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040102&docId=133887229

가능합니다. 닷넷 프레임워크 4.0에서 추가된 기능 중 하나로 Optional Parameter라고 합니다. Visual Studio 2010을 사용하시면, 해당 오류가 발생하지 않을 것 같습니다.

이런 방식의 표현법은 기존의 COM 개체를 사용할 때, 상당한 사용 편이를 제공합니다.

예를 들어, Microsoft Office 자동화 개체를 사용을 보면

using Microsoft.Office.Interop.Word.
var WordApplication =
new Microsoft.Office.Interop.Word.Application();WordApplication.Visible = true;
object missing = System.Reflection.Missing.Value;
object file
=@"c:\test.txt";
object visible = true;
object readOnly = false;
Document aDoc = WordApplication.Documents.Open(
ref file,ref missing,ref readOnly,ref missing,
ref missing,ref missing,ref missing,ref missing,
ref missing,ref missing,ref missing,ref visible,
ref missing,ref missing,ref missing,ref missing);

이런 방식으로 값을 입력하지 않더라도 System.Reflection.Missing.Value를 사용해서 모두 입력해줘야 했습니다.(C#의 경우), 하지만 optional and named parameter를 사용하면

var betterWay = WordApplication.Documents.Open(file, ReadOnly: true, Visible: true);
betterWay.Activate();

와 같이 간결하게 표현할 수 있어, 작업량도 줄고 가독성 또한 좋아집니다.


 



마치 C++의 디폴트 인수같군요... 서로를 닮아가는 C#과 C++ --;;

근데 깔끔한걸로 치면 역시 C#