我知道继承类(显然),但我想知道是否可以在函数内复制行为?
我有一种情况,所有方法都需要在被调用之前实现一些逻辑,而不是在所有函数中复制代码,我想知道是否有某种方式来继承基函数或类似的函数在函数的其余部分之前执行流程?
这可能与C#有关吗?
例如,我有以下方法:
public void MyFunction1 {
if(debug)
return;
MyProductionApi.DoSomething();
}
public void MyFunction2 {
if(debug)
return;
MyProductionApi.DoSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)
正如您从上面看到的,我的场景基本上涉及检查我是否正在开发中,因此我可以避免昂贵的第三方API调用.如果我正在测试,我只是想跳过它们,但是想要避免为每个方法编写一个检查,因为有大量的函数.
理想情况下,我可以创建一些基本功能来执行我可以继承的检查,但我不知道这是否可行?
我想知道是否有某种方法可以继承基本函数或在其余函数进程之前执行的类似函数?
您不一定需要继承来解决重复代码的问题.您还可以将函数作为参数传递给其他函数,在调用之前执行一些基本作业.你可以这样做
public void MyFunction(Action a)
{
if(debug)
return;
a();
}
Run Code Online (Sandbox Code Playgroud)
并称之为
MyFunction(MyProductionApi.DoSomething);
Run Code Online (Sandbox Code Playgroud)
这解决了你的情景
如果我正在测试,我只想跳过它们
以一种非常简单的方式,没有复杂的结构或继承.