如何返回基类形式的数据?
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;
}
}
答案 0 :(得分:11)
GetB()
完全没必要。 B bclass = aclass;
就足够了aclass
。
答案 1 :(得分:6)
我不是C#专家,但return this;
应该有用。我真的没有看到这样做的重点。
答案 2 :(得分:1)
我强烈建议不要使用以下代码,而是改变班级的行为,但答案如下:
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;