在 C# 中返回基类
本文关键字:基类 返回 | 更新日期: 2023-09-27 17:55:48
如何返回基类形式的数据?
A aclass = new A();
B bclass = aclass.GetB();
不起作用。
public class B
{
protected string str1;
protected string str2;
}
public class A:B
{
public A()
{
base.str1 = "A";
base.str2 = "B";
}
public B GetB()
{
return base;
}
}
GetB()
是完全没有必要的。 B bclass = aclass;
就足够了,因为aclass
已经是B
了。
我不是C#专家,但return this;
应该可以工作。不过,我真的看不出这样做的意义。
我强烈建议不要使用以下代码,而是更改类的行为,但答案如下:
public B GetB()
{
return this as B;
}
但是,您可以使用以下方法编写一个唯一的方法来返回转换为基类的对象;
public class B
{
protected string str1;
protected string str2;
}
public class A : B
{
public A()
{
str1 = "A";
str2 = "B";
}
}
您可以按以下方式使用;
A a = new A();
B b = a;