0
I가 다음과 같은 구조를 속성 : 당신이 볼 수 있듯이, 나는의 ctor에서 가상 멤버 호출을 만드는 방법에 대한 ReSharper에서에서 경고를가상 멤버 호출은, 밀봉하고,
public abstract class A
{
public abstract string Foo {get;set;}
}
public class B : A
{
public B() { Foo = "test" } //ReSharper: Virtual member call in constructor
[Bar(1, 2)]
public override string Foo {get;set;}
}
public class C : B
{
[Bar(2,3)]
public override string Foo {get;set}
}
. 그래서 나는 생각했다 :
- 메이크업의 A.Foo 가상
- 메이크업의 B.Foo 재정이
을 봉인하지만 난 Bar
속성과 속성을 장식 할 필요와 나는이 문제로 실행 ..
Foo
을 C
에 덮어 쓸 필요는 없습니다. 이것을 수행하는 방법이 있습니까?
당신은 일반적인 속성을 만들 수 있습니다 B에서 B의 생성자에 체인을 연결하는 오버로드 된 생성자를 추가합니다. 이렇게하면 생성자에 가상 호출이 없게되고 생성자에 가상 호출이 없게됩니다. B 인감해야 해. –