Имам следните структури:
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}
}
Както можете да видите, получавам предупреждение от ReSharper за извършване на обаждане на виртуален член в Ctor. Така че си помислих:
- направи A.Foo виртуален
- направете отмяната на B.Foo запечатана
но след това се натъквам на проблема с това, че трябва да украся свойството с атрибута Bar
...
Не е нужно да отменям Foo
в C
освен за този факт; така че има ли начин да се постигне това?