Могу ли я переопределить с производными типами?

Насколько я знаю, это не возможно сделать следующее в C # 2.0

public class Father
{
    public virtual Father SomePropertyName
    {
        get
        {
            return this;
        }
    }
}

public class Child : Father
{
    public override Child SomePropertyName
    {
        get
        {
            return this;
        }
    }
}

Я обошел проблему, создав свойство в производном классе как «новое», но, конечно, это не полиморфно.

public new Child SomePropertyName

Есть ли решение в 2.0? Как насчет каких-либо функций в 3.5, которые решают эту проблему?

Ответы на вопрос(8)

Ваш ответ на вопрос