在C#中,如果我有一个类A,一个类B,类B继承类A
class A{}
class B:A{}有这么一个函数
void function(ref A a){};
在函数调用的时候
A a =new A();
function(ref a);这个行
A b = new B();
function(ref b);这个报错。
按理说 父类定义的类型,传递子类的值是可以的。为什么这个报错?
class A{}
class B:A{}有这么一个函数
void function(ref A a){};
在函数调用的时候
A a =new A();
function(ref a);这个行
A b = new B();
function(ref b);这个报错。
按理说 父类定义的类型,传递子类的值是可以的。为什么这个报错?
using System.Text;namespace ConsoleApplication1
{
class A { }
class B : A { }
class Program
{
void function(ref A a) { }
void test()
{
A a = new A();
function(ref a);
A b = new B();
function(ref b);
} static void Main(string[] args)
{
}
}
}