是否可以在某个方面使用方面引用类的属性?对OnMethodBoundaryAspect中的类属性的引用
下面的例子:
public class Device
{
public bool IsRunning { get; set; }
public bool IsOffline { get; set; }
[Offline]
public void Start()
{
IsRunning = true;
}
[Offline]
public void Stop()
{
IsRunning = false;
}
}
[Serializable]
public class Offline : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
// should be something like
if (device.IsOffline)
{
args.FlowBehavior = FlowBehavior.Return;
}
}
}
我想在OnEntry拦截如果类的IsOffline原属性为true。 当然有很多设备,因此向这个方面注入一个设备似乎不可行。
另外,因为它是一个API,我不想将它作为参数传递(someDevice.Start(someDevice.IsOffline)),我可以通过它的MethodExecutionArgs获取状态。
有趣,谢谢。 – vknapp