我正在使用一个具有公共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()
是学究式的正确做法。所以你的代码在做正确的事情。话虽如此,当你认为你需要这样的东西时,你应该考虑一个更基于组合的方法。