0

我想知道以下是否可行:

我有 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。

这可能吗?(我想获取没有字符串选择器的条目,以确保编译时代码的正确性)

4

1 回答 1

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类中的方法标记为virtual,可以覆盖B类中的方法。如果B类没有实现method Bar()Bar()则会调用A类的方法。

这是你想要的吗?

于 2012-09-10T18:02:40.087 回答