¿Por qué 'ref' y 'out' no soportan el polimorfismo?
Toma lo siguiente:
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) {}
}
¿Por qué se produce el error de compilación anterior? Esto sucede con ambosref
yout
argumentos