MethodInterceptionAspect 的替代方案
Alternative for MethodInterceptionAspect
我需要限制一些关于许可证的功能。所以我在 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 等。
或者你可以使用 Unity 或 StractureMap 等 Ioc Container
PostSharp is CompileTime and other are runTime.
也可以使用AspectInjector
。
它非常简单,而且 CompileTime
喜欢 postSharp 。
你可以看到这个link如何使用它。
希望有用
我需要限制一些关于许可证的功能。所以我在 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 等。 或者你可以使用 Unity 或 StractureMap 等 Ioc Container
PostSharp is CompileTime and other are runTime.
也可以使用AspectInjector
。
它非常简单,而且 CompileTime
喜欢 postSharp 。
你可以看到这个link如何使用它。
希望有用