2010-08-02 2 views
2

ASP.NET에서 Page.Load를 처리하는 개인 Page_Load 메서드를 정의하는 기본 페이지 클래스가 있다고 가정 해 보겠습니다. 프로젝트의 모든 aspx 페이지는이 기본 페이지 클래스에서 상속됩니다. 이 경우 aspx 페이지는이 개인 메소드를 호출 할 수 있습니다. 그러나 사적인 방법이 그 자신의 클래스 바깥에서 호출 될 수 있다고 생각하지 않는다. 그렇다면 비공개 메소드를 외부에서 숨길 수 없습니까? 누군가 그것을 설명 할 수 있습니까?OO 상속 개념 - 개인적인 방법을 상속하고 사용할 수 있습니까?

답변

4

private 방법이 아니라 protected 방법. 바로 그 키워드가있는 것입니다.

다른 액세스 수정 자 here과 보호 키워드 인 특히 here을 읽을 수 있습니다.

그러나 사용하려는 방식이 깔끔하지 않은 구조는 기본 클래스 메서드를 virtual method으로 만들어 다른 메서드에서 재정의하고 base.Page_Load을 호출하는 것이 좋습니다.

+0

안녕하세요, 기본 페이지 클래스에 전용 Page_load 이벤트 처리기가 있는지 테스트 한 결과 페이지가로드 될 때 자동으로 구동되는 클래스에서 호출됩니다. 어떻게 설명하니? – Aperture

+1

@ user370401 : 이것은 반사를 사용하는 자동 이벤트 와이어 업 때문일 수 있습니다. http://it.toolbox.com/blogs/coding-dotnet/autoeventwireup-attribute-9312 –

관련 문제