Возьмем два примера:
public abstract class Bar
{
protected Bar()
{
//происходит виртуальный вызов,
//хотя код в конструкторе Foo еще не выполнен.
Initialize();
}
protected virtual void Initialize()
{
}
}
public class Foo : Bar
{
public Foo()
{
}
protected override void Initialize()
{
}
}
и
public sealed class Foo
{
private Foo()
{
Instance.Invoke();//NullReferenceException
}
public void Invoke()
{
}
public readonly static Foo Instance = new Foo();
}
Существует ли какая-нибудь возможность логики связать между собой два этих поведения?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>