我想知道以下是否可行:
我有2个资源管理器A和B.只有A包含所有字符串条目,B只有A中某些条目的替代值。
例如:
A.foo
A.bar
B.bar
我希望能够做像B.foo这样的事情,但是f在B中不存在但存在于A中,所以它会返回A.foo。但如果B.bar存在,我希望它返回B.bar而不是A.bar。
这可能吗? (我想获得没有字符串选择器的条目,以确保编译时的代码正确性)
答案 0 :(得分:0)
我不确定你的班级(A& B)中是否有任何层次结构,但是如果有这个似乎是虚拟方法的一个很好的用例。
例如:
public class A
{
public virtual string foo()
{
return "A Foo";
}
public string bar()
{
return "A Bar";
}
}
public class B:A
{
public override string foo()
{
return "B Foo";
}
}
B类继承A类。通过将A类中的方法标记为虚拟,您可以覆盖B类中的方法。如果B类没有实现方法Bar()
,则A类的Bar()
方法将被调用。
这是你想要的吗?