gpt4 book ai didi

c# - MethodInterceptionAspect 的替代方案

转载 作者:行者123 更新时间:2023-11-30 17:25:41 30 4
gpt4 key购买 nike

我需要限制一些关于许可证的功能。所以我在 postSharp 中使用 MethodInterceptionAspect 创建了一个属性并验证了我需要的字段。是否有任何其他第三方制作 aop 自定义属性?我知道存在动态代理,但我也想要注释部分。

示例:

namespace ConsoleApp1
{
[Serializable]
public class LicenseValidator : MethodInterceptionAspect
{
readonly String name;

public LicenseValidator(String name)
{
this.name = name;
}

public override void OnInvoke(MethodInterceptionArgs args)
{
if (name = ! "notInvoke")
{
args.Proceed();
}
else
Console.WriteLine("Not executed !");


}
}
}

以及这个的用法:

[LicenseValidator("tal")]
public static Boolean PrintHi(int num)
{
Console.WriteLine("Hi");
return true;
}

注意:这只是一个用法示例,不是我的代码。但这是我想用来解决我的问题的方法。

还有其他方法可以用属性来实现吗?第 3 方或手动。

谢谢!

最佳答案

您可以使用其他第 3 方,例如 Spring.NET、CaSTLe Windsor、Aspect.NET 等。或者你可以使用 Ioc Container,例如 Unity 或 StractureMap 等。

PostSharp is CompileTime and other are runTime.

也可以使用 AspectInjector 。它非常简单,也像 postSharp 一样 CompileTime

可以看到这个link如何使用它。

希望有用

关于c# - MethodInterceptionAspect 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57943956/

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