调用父构造函数的最简单方法



我正在使用一个具有公共ParentClass的实体框架,其中function通过搜索配置和数据库条目做了很多重要的事情,并且不能编辑此代码,因为它来自第三方。然而,我想在ParentClass中的function无法访问的白名单信息上添加额外的"搜索"。

下面的代码是正在发生的事情的模型。我只是想知道,是否有更好的方法来扩展ParentClass并访问它的function

public ParentClass : ClassInterface
{
    foo bar;
    public Parent(foo _bar) 
    {
        this.bar = _bar
    }
    function(int) 
    {
        // do things with this.bar
    }
}
public ChildClass : ParentClass, ClassInterface 
{
    public ChildClass(foo _bar) : base(_bar) { }

    public virtual function(int) 
    {
        bool x = base.function(int)
        if (!x) 
        {
            ... stuff
        }
        ... otherstuff
    }
}

调用base.function()是学究式的正确做法。所以你的代码在做正确的事情。话虽如此,当你认为你需要这样的东西时,你应该考虑一个更基于组合的方法。

相关内容

  • 没有找到相关文章

最新更新