相关疑难解决方法(0)

为什么'ref'和'out'不支持多态?

请考虑以下事项:

class A {}

class B : A {}

class C
{
    C()
    {
        var b = new B();
        Foo(b);
        Foo2(ref b); // <= compile-time error: 
                     // "The 'ref' argument doesn't match the parameter type"
    }

    void Foo(A a) {}

    void Foo2(ref A a) {}  
}
Run Code Online (Sandbox Code Playgroud)

为什么会发生上述编译时错误?两者refout参数都会发生这种情况.

c# polymorphism out-parameters ref-parameters

123
推荐指数
5
解决办法
1万
查看次数

标签 统计

c# ×1

out-parameters ×1

polymorphism ×1

ref-parameters ×1