我想知道以下是否可行:
我有 2 个资源管理器 A 和 B。只有 A 具有所有字符串条目,而 B 只有 A 中某些条目的一些替代值。
前任:
A.foo
A.bar
B.bar
我希望能够做类似 B.foo 的事情,因为 foo 在 B 中不存在但存在于 A 中,所以它会返回 A.foo。但如果 B.bar 存在,我希望它返回 B.bar 而不是 A.bar。
这可能吗?(我想获取没有字符串选择器的条目,以确保编译时代码的正确性)
我想知道以下是否可行:
我有 2 个资源管理器 A 和 B。只有 A 具有所有字符串条目,而 B 只有 A 中某些条目的一些替代值。
前任:
A.foo
A.bar
B.bar
我希望能够做类似 B.foo 的事情,因为 foo 在 B 中不存在但存在于 A 中,所以它会返回 A.foo。但如果 B.bar 存在,我希望它返回 B.bar 而不是 A.bar。
这可能吗?(我想获取没有字符串选择器的条目,以确保编译时代码的正确性)
我不确定您的类(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类中的方法标记为virtual,可以覆盖B类中的方法。如果B类没有实现method Bar()
,Bar()
则会调用A类的方法。
这是你想要的吗?