c# - 有没有像 c# 的 python 装饰器之类的东西?

标签 c# unity3d gree

我正在包装对 API 的调用,我的大部分方法都在第一行:

if ( !Gree.Authorizer.IsAuthorized() )
{
    return;
}

在 python 中,我会用类似 @login_required 的东西来装饰这些方法。

您会用什么在 c# 中重构这种类型的逻辑?

最佳答案

您正在寻找称为面向方面编程的更通用编程方法的子集。

C# 似乎通过几个库来支持它,并且由于某些 CLR 功能,人们也可以推出自己的库。参见 Aspect Oriented Programming using .NET其中涵盖了它的基本原理(我正在链接文章中谈论 C# 细节的部分,但如果您正在寻找像 PostSharp 这样的现成解决方案,其余部分同样有趣,如另一个答案中所述)。

关于c# - 有没有像 c# 的 python 装饰器之类的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13269246/

相关文章:

ios - Unity 游戏在 iOS 上加载时崩溃

c# - 从一个 Action 中调用一个 Action

android - Unity3D Build Configuration 省略 iOS 包

ios - Facebook API 7.5.0 崩溃统一 OnInitComplete()

c# - 将数据插入 Excel

c# - 将新的 Windows 窗体与 C# 中的现有项目链接起来

c# - 绑定(bind)时已释放 ObjectContext 实例

c# - 为什么 Unity 在某些函数(例如 GetChild())中使用变换而不是游戏对象?

c# - gRPC c# 中的全局异常处理