我正在包装对 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/