2009-10-20 2 views

답변

4

그게 무슨 뜻인지는 잘 모르겠지만, 일반적으로 보호 된 멤버는 클래스 인터페이스의 일부입니다.

public 멤버 변수가 필요하지 않으므로 구현이 융통성을 잃어 버리게됩니다. 보호 된 멤버 변수는 클래스를 상속 한 클래스가 해당 클래스에 의존하므로 구현이 융통성을 잃기 때문에 동일합니다.

Asaf

그것은 당신이 당신의 외부에서 볼 수있는 예를 필드 않다고 생각되어지고있어 오류처럼 보이는
5

클래스 외부에 표시되는 입력란을 선언하지 말아야합니다 (예 : 비공개가 아닌). 이 경우 protected 수정자를 클래스 외부의 멤버를 노출하는 것으로 올바르게 인식하지만 파생 된 유형에만 적용됩니다.

0

. 여기서 권장되는 방법은이 필드를 비공개로 설정하고 외부에서 볼 수있는 속성 (공개 또는 보호 된 액세스 한정자 포함)을 통해이 필드를 표시하는 것입니다.

using System; 
namespace DesignLibrary 
{ 
    public class BadPublicInstanceFields 
    { 
     // Violates rule DoNotDeclareVisibleInstanceFields. 
     public int instanceData = 32; 
    } 

    public class GoodPublicInstanceFields 
    { 
     private int instanceData = 32; 

     public int InstanceData 
     { 
     get { return instanceData; } 
     set { instanceData = value ; } 
     } 
    } 
} 
:

오류에 MSDN 페이지는 좋은 예를 제공합니다

관련 문제