当前位置:  开发笔记 > 编程语言 > 正文

每当在C#中调用方法时,是否有一种通用的方法来调用另一个方法

如何解决《每当在C#中调用方法时,是否有一种通用的方法来调用另一个方法》经验,为你挑选了1个好方法。

我有一个像这样的方法:

public Something MyMethod()
{
    Setup();

    Do something useful...

    TearDown();

    return something;
}

Setup和TearDown方法位于基类中.

我遇到的问题是我必须使用Setup()和TearDown()方法调用一遍又一遍地编写这种类型的方法.

编辑:这个方法的棘手部分是"做一些有用的东西......"仅适用于此方法.这个部分对我创建的每个方法都不同.

另外,我可以将MyMethod2,MyMethod3放在一个类中.在所有情况下,我想运行设置和拆解

有没有一种优雅的方式来做到这一点,而不必每次都写这个?

也许我是妄想,但是这是一种向方法添加属性并拦截方法调用的方法,所以我可以在调用之前和之后做一些事情?



1> Dzianis Yafi..:

只需在抽象基类中实现此方法,如下所示:

public Something MyMethod()
{
    Setup();

    DoSomethingUsefull();

    TearDown();

    return something;
}

protected abstract DoSomethingUsefull();

现在,您只需要覆盖继承类中的一个方法 - DoSomethingUsefull()

这是模板方法模式


通常我会在类似的情况下使`DoSomethingUseful`受到保护.
模板模式 - 非常好.
推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有