기본 클래스 Base
의 모든 하위 클래스에 특성 A
이 있습니다.
기본 클래스 Base
에 A
속성의 추상 속성 정의를 생성하려면 어떻게해야합니까? 속성 선언을 기본 클래스로 자동 복사하는 방법
1
A
답변
2
은 체크 박스가 회원들까지 대화를 당겨 ReSharper에서에 그것에 대해 "추상적 만들기"가 :
0
나는 ReSharper에서 위로 이동하면 자동으로 원하는 추상화를 만들 수 있습니다 모르겠어요,하지만 당신은이어야 추상 클래스에서이
처럼 수동으로 정의 할 수 있습니다 : 하위 클래스에서
public abstract double A
{
get;
}
:
public override double A
{
get
{
return 3.141;
}
}
새 인터페이스를 정의하거나 기존 인터페이스를 사용하고 인터페이스에서 속성을 정의하는 것이 더 명확한 설계 일 수 있습니다. 그렇게하면 기존 하위 클래스에 override
을 사용할 필요가 없습니다.
0
public interface IInterface {
string MyProperty { get; }
}
public class Class : IInterface {
public string MyProperty { get; set; }
}
public abstract class AbstractClass {
public abstract string Value { get; }
}
public class ConcreteClass : AbstractClass {
private string m_Value;
public override string Value {
get { return m_Value; }
}
public void SetValue(string value) {
m_Value = value;
}
}
나는이 당신에게 도움이 될 것입니다 바랍니다.
오 오지 못했습니다. 당신의 대답은 제가 찾던 것과 정확히 같습니다. – thersch
Unforunatly * Pull Members Up *은 다른 하위 클래스를 자동으로 업데이트하지 않습니다 (* override *로 함). – thersch
http://youtrack.jetbrains.com/issue/RSRP-275311 –