2
현재 메서드가 실행되었는지 확인하고 마지막 실행 후 시간이 경과했는지 그리고 시간이 경과했는지 확인하는 솔루션을 개발하려고합니다. OnEntry 메서드를 건너 뛰고 싶습니다. 메서드 자체에서 코드를 실제로 실행하지 않고 OnExit에 전달합니다.PostSharp를 사용하여 메소드 실행을 중지하려면 어떻게해야합니까?
정렬 :
public class CacheThisMethod : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
if (isCached(args.Method.name)
{
args.MethodExecutionTag = getReturnValue(args.Method.name)
//jump to OnExit
}
else
{
//continue
}
}
public override void OnExit(MethodExecutionArgs args)
{
args.Method.ReturnValue = args.MethodExecutionTag;
}
}
어떻게 이것을 달성 할 수 있습니까? 감사.
캐시의 인수로 인수를 사용하지 않으시겠습니까? – Aron
isCached 메서드에서 수행해야 할 작업을 알고 있다고 가정합니다. – sweetfa