gpt4 book ai didi

c# - 有没有一种优雅的方法可以让类中的每个方法都以 C# 中的某个代码块开始?

转载 作者:太空狗 更新时间:2023-10-29 21:01:25 25 4
gpt4 key购买 nike

我有一个类,其中每个方法都以相同的方式开始:

internal class Foo {
public void Bar() {
if (!FooIsEnabled) return;
//...
}
public void Baz() {
if (!FooIsEnabled) return;
//...
}
public void Bat() {
if (!FooIsEnabled) return;
//...
}
}

有没有一种很好的方法来要求(希望不是每次都写)类中每个公共(public)方法的 FooIsEnabled 部分?

我检查 Is there an elegant way to make every method in a class start with a certain block of code? ,但是这个问题是针对 Java 的,它的答案是使用 Java 库。

最佳答案

您要查找的主体是来自 Aspect Oriented Programming 域的拦截或 AOP。

虽然 C# 不直接支持它,但有可靠的选择:

  1. Postsharp
  2. Unity Interception
  3. Spring.NET
  4. Castle Interceptors

如果我明天有时间,我会为你做一个例子......

关于c# - 有没有一种优雅的方法可以让类中的每个方法都以 C# 中的某个代码块开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31153253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com