c#直接获取基属性
本文关键字:属性 获取 | 更新日期: 2023-09-27 18:06:29
是否有一种简单的方法来获得另一个类继承的基类的属性?下面是我目前正在做的事情。
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方法中,是否有一种方法可以直接获得基属性,而不需要检查类型和强制转换对象?比如objchild。a。或者通过将继承类的基类作为方法中的参数传递比如
void getAttribute(baseClass baseClass)
{
int iA = baseClass.A;
string strB = baseClass.B;
}
void run()
{
getAttribute(base.childA);
}
just do
void getAttribute(baseClass child)
{
int iA = child.A;
string strB = child.B;
}
那么你可以做
getAttribute(childA)
getAttribute(childB)