[英]Is there a generic way to call another method whenever a method is called in C#
我有一個像這樣的方法:
public Something MyMethod()
{
Setup();
Do something useful...
TearDown();
return something;
}
Setup和TearDown方法位於基類中。
我遇到的問題是我必須使用Setup()和TearDown()方法調用一遍又一遍地編寫這種類型的方法。
編輯:這個方法的棘手部分是“做一些有用的東西......”僅適用於此方法。 這個部分對我創建的每個方法都不同。
另外,我可以將MyMethod2,MyMethod3放在一個類中。 在所有情況下,我想運行設置和拆解
有沒有一種優雅的方式來做到這一點,而不必每次都寫這個?
也許我是妄想,但是這是一種向方法添加屬性並攔截方法調用的方法,所以我可以在調用之前和之后做一些事情?
只需在抽象基類中實現此方法,如下所示:
public Something MyMethod()
{
Setup();
DoSomethingUsefull();
TearDown();
return something;
}
protected abstract DoSomethingUsefull();
現在,您只需要覆蓋繼承類中的一個方法 - DoSomethingUsefull()
這是模板方法模式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.