用函数继承?

时间:2017-08-22 18:11:28

标签: c# .net

我知道继承类(显然),但我想知道是否可以在函数中复制行为?

我的情况是所有方法都需要在被调用之前实现某些逻辑,而不是在所有函数中复制代码,我想知道是否有某种方式来继承基函数或类似的东西在其余的函数进程之前执行?

C#可以实现吗?

例如,我有以下方法:

public void MyFunction1 {
  if(debug)
    return;

  MyProductionApi.DoSomething();
}

public void MyFunction2 {
  if(debug)
    return;

  MyProductionApi.DoSomethingElse();
}

从上面看,我的方案主要涉及检查我是否处于开发状态,这样我就可以避免昂贵的第三方API调用。如果我正在测试,我只是想跳过它们,但是想要避免为每个方法编写一个检查,因为有大量的函数。

理想情况下,我可以创建一些基本功能来执行我可以继承的检查,但我不知道这是否可行?

1 个答案:

答案 0 :(得分:5)

  

我想知道是否有某种方式来继承基本功能或   在函数的其余部分之前执行的类似的东西   过程

您不需要继承来解决重复代码的问题。您还可以将函数作为参数传递给其他函数,在调用之前执行一些基本作业。你可以像

那样做
public void MyFunction(Action a)
{
  if(debug)
    return;

  a();
}

并将其称为

MyFunction(MyProductionApi.DoSomething);

这解决了您的

场景
  

如果我正在测试

,我只想跳过它们

以一种非常简单的方式,没有复杂的结构或继承。

相关问题