我正在使用具有公共ParentClass
的实体框架,其中function
通过搜索配置和数据库条目来执行许多重要操作,并且无法编辑此代码,因为它来自第三方。但是,我想在function
中的ParentClass
无法访问的白名单信息中添加额外的“搜索”。
下面的代码是对正在发生的事情的模拟。我只是想知道,是否有更好的方法来扩展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
}
}
答案 0 :(得分:1)
调用base.function()
是非常正确的事情。所以你的代码正在做正确的事情。话虽这么说,当你认为你需要这样的时候,你应该考虑采用更基于组合的方法。