相关疑难解决方法(0)

我可以用派生类型覆盖吗?

据我所知,在C#2.0中无法执行以下操作

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

public class Child : Father
{
    public override Child SomePropertyName
    {
        get
        {
            return this;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我通过在派生类中将属性创建为"new"来解决问题,但当然这不是多态的.

public new Child SomePropertyName
Run Code Online (Sandbox Code Playgroud)

2.0中有什么解决方案吗?3.5中解决此问题的任何功能如何?

.net c# inheritance covariance

39
推荐指数
5
解决办法
3万
查看次数

阴影(VB.NET)和新(C#)之间的区别

简单的问题来自一个简单的问题:ShadowsVB.NET中的New关键字和C#中的关键字有什么区别?(关于方法签名当然).

.net c# vb.net new-operator shadows

10
推荐指数
2
解决办法
4001
查看次数

标签 统计

.net ×2

c# ×2

covariance ×1

inheritance ×1

new-operator ×1

shadows ×1

vb.net ×1