대중에게 읽기가 많지만 상속자에게 쓸 수있는 속성을 구현하는 가장 좋은 방법은 무엇입니까?
-
03-07-2019 - |
문제
상속자에게 편지를 보내고 싶은 속성이 있지만 외부 적으로 읽기 위해 계속 유지하는 경우이를 구현하는 선호하는 방법은 무엇입니까? 나는 보통 이런 식으로 간다 :
private object m_myProp;
public object MyProp
{
get { return m_myProp; }
}
protected void SetMyProp(object value)
{
m_myProp = value;
}
더 좋은 방법이 있습니까?
해결책
private object m_myProp;
public object MyProp
{
get { return m_myProp; }
protected set { m_myProp = value; }
}
또는 C# 3.0에서
public object MyProp {get; protected set;}
다른 팁
이것은 확실히가는 길입니다.
public object MyProp {get; protected set;}
C#의 이전 버전에 있다면 이것이가는 길입니다.
private object _myProp;
public object MyProp
{
get { return _myProp; }
protected set { _myProp = value; }
}
세터와 getter를 갖는 것이 해당 가시성 수준에서 변수를 갖는 것보다 더 나을 수는 없습니다.
따라서 변수 자체를 보호하고 독자를 공개 할 수 있습니다.
즉, 세터와 getters는 나쁜 oo의 지표입니다. 필요합니까? 당신은 멤버들과 무언가를하도록 물체에 물체를 요구하고, 회원을 요구하지 않고 물체 밖에서 조작하는 것을 요구해야합니다.
이것은 매우 일반적인 규칙이며 많은 예외가 있습니다.
제휴하지 않습니다 StackOverflow