有一种简单的方法来获取另一个类继承的基类的属性吗?目前以下是我正在做的事情。
class baseClass
{
public int A = 0;
public string B = "Hello";
}
class ChildA : baseClass
{
}
class ChildB : baseClass
{
}
class CRunContainer
{
ChildA childA = new ChildA();
ChildB childB = new ChildB();
void getAttribute(object objChild)
{
int iA = 0;
string strB = "";
if (objChild is ChildA)
{
iA = ((ChildA)objChild).A;
strB = ((ChildA)objChild).B;
}
if (objChild is ChildB)
{
iA = ((ChildB)objChild).A;
strB = ((ChildB)objChild).B;
}
}
}
在方法getAttribute中,有没有办法直接获取base属性而无需检查类型并转换对象? 像objChild.A这样的东西。 或者通过传递继承类的基类作为方法中的参数 像
这样的东西void getAttribute(baseClass baseClass)
{
int iA = baseClass.A;
string strB = baseClass.B;
}
void run()
{
getAttribute(base.childA);
}
答案 0 :(得分:1)
只是做
void getAttribute(baseClass child)
{
int iA = child.A;
string strB = child.B;
}
然后你可以做
getAttribute(childA)
getAttribute(childB)