在方法重载和覆盖中传递简单参数和参考参数之间的区别?

时间:2012-09-26 06:37:05

标签: c# override overloading

我有三个班级:

public class A
{
}
public class B
{
    void MethodA(ref A obj) { }

    void MethodB(A obj) { }
}
public class C : B
{
    void MethodA(ref A obj) { }
}

我的第一个问题:以上方法是否超载?

第二个问题:传递简单和引用类型对象之间的区别,因为我知道类是引用类型。

第三个问题:C类中的方法是否覆盖了B类中的方法?

1 个答案:

答案 0 :(得分:4)

1:没有; B.MethodAC.MethodA无关;它们是隐式私有的这一事实意味着它甚至不是方法隐藏

2:不是问题,但是:按值传递与按引用传递(ref关键字)在很大程度上与值类型与引用类型正交(struct vs class);这是一个经常被误解的主题,但如果没有实际问题我就无法澄清

3:不;缺少任何virtualoverrideabstract是最大的线索