2012-06-21 7 views
0

저는 Petzold의 무료 (.PDF) WP7 책을 읽었으며 그는 이벤트 처리기에서 항상 "EventArgs e"를 "EventArgs args"로 변경한다고 말합니다. ("e"가 때때로 Exception 객체의 이름을 지정하려는 경우). 하지만 그는 자동으로 앞에 붙는 접근성 수정자를 제거한다고 말한다.메서드의 액세스 가능성 수정자를 제거하는 목적은 무엇입니까?

나는 그가 그렇게 이유를 궁금해하고 있어요 :.

가 가
1) Should I adopt the same practice 
2) If that's a better way (Petzold is no wet-behind-the-ears greenhorn), why doesn't MS create these methods that way by default? 

답변

2

(나는이 방법에서 private 액세스 한정자를 제거하는 문제입니다 있으리라 믿고있어이를 제거 인 경우 (예를 들어) public 다음 그건 a 의미 변경 및 다른 문제.)

확실히 개인적인 취향의 문제입니다. 나는 을 사용하여 기본값 인 액세스 한정자 제거를 선호했지만 요즘에는 명시 적으로 선호합니다. 암시를 떠나는

장점 :

  • 덜 혼란 기본으로
  • (중요 잘 여기에 관련 될 수있는 책을 쓸 때) "는 명시 적으로 표현할 수있는 가장 사설은"이 있습니다 항상 그것은 구성원이 넓은 접근에게 그것을 명시 적으로 만드는

장점 갖고 "승진"한 이는 더 분명 :

  • 언어를 모르는 독자는 의심의 여지가 없습니다
  • 이 점에 대해 적극적으로 생각해보아야 할 정신적 알림이 하나 더 있습니다. (사람들이 종종 다른 생각을하지 않으면 기본 방식으로 물건을 남기는 경우가 많습니다. 기본값과 달리 Java와 비교하여 C#의 가상 메소드가 비교적 적습니다.)
  • 정신적 리마인더를 따르는 것으로 가정하면 독자에게 표시됩니다 이것은 고의적 인 결정이었습니다.

"권위에 호소하기"를 원한다면 Miguel de Icaza가 전자 방식을 선호하고 (에베레스트 리퍼트가 후자를 선호 함) 관심을 가질 수 있습니다.

+0

그래서 C# 자이언트의 전투에서 페트 볼드와 이카자가 줄다리기의 한쪽에, 리퍼트와 너 자신이 다른 쪽에서 2-2입니다. –

+0

Anders H는 몸무게를 줄래? –

+0

BTW, 여기에 귀하의 답변 (StackOverflow에) 내 "구매 도서"목록 맨 위에 "C#을 깊이"책을 넣으려면 발생했습니다. –