c# - 我可以有一个方法的扩展方法吗?

标签 c# .net

这样写代码可行吗?

public void DoSomeOperation().Log()
{

}.Log()

上述调用将在进入 DoSomeOperation 方法和退出该方法时执行 Log() 函数。我可以做那样的事吗?我知道我可以在这里使用 AOP 但不使用 AOP,.NET 是否提供这种奢华?

最佳答案

LogWrapper(DoSomeOperation);
LogWrapper(() => DoSomeOtherOperation(42));
LogWrapper(() => AndAnother("example"));

// ...

public static void LogWrapper(Action action)
{
    Log();
    action();
    Log();
}

关于c# - 我可以有一个方法的扩展方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6098420/

相关文章:

c# - 从闪存中检索变量值

c# - 对于没有默认邮箱的用户(我没有默认邮箱),如何从 Exchange Server 获取邮箱电子邮件详细信息?

.net - WPF 密码框 : How do I warn a user that Caps Lock is enabled?

c# - Binding 的构造函数中的参数 formattingEnabled 有什么作用?

c# - 为什么 GetShortestDayName 返回的名称比预期的要短?

c# - 为什么 Thread.Sleep( ... ) 避免 CPU 使用基于多线程 Windows 服务的应用程序的 100% 重执行?

c# - System.Windows.Controls.Canvas 到 System.Windows.Controls.TextBox 的无效转换异常

c# - 我应该使用静态字段并将它们互锁在一起吗?

c# - 在 asp.net c# 中创建简单的 cookie

c# - 如何在我自己的通用方法中使用 Math.Abs​​?