using Castle.DynamicProxy;
using System;
using System.Reflection;
namespace Core.Util
{
public class CastleAOPContext : IAOPContext
{
private readonly IInvocation _invocation;
public CastleAOPContext(IInvocation invocation, IServiceProvider serviceProvider)
{
_invocation = invocation;
ServiceProvider = serviceProvider;
}
public IServiceProvider ServiceProvider { get; }
public object[] Arguments => _invocation.Arguments;
public Type[] GenericArguments => _invocation.GenericArguments;
public MethodInfo Method => _invocation.Method;
public MethodInfo MethodInvocationTarget => _invocation.MethodInvocationTarget;
public object Proxy => _invocation.Proxy;
public object ReturnValue { get => _invocation.ReturnValue; set => _invocation.ReturnValue = value; }
public Type TargetType => _invocation.TargetType;
public object InvocationTarget => _invocation.InvocationTarget;
}
}
(精华)2020年6月27日 C#类库 CastleAOPContext(Castle-AOP的封装)
原创
©著作权归作者所有:来自51CTO博客作者愚公搬代码的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
(精华)2020年6月27日 C#类库 string(扩展方法)c# asp.net 后端 json 字符串