명시 적으로 함수 호출을 추가하지 않고도 일련의 함수에 대한 호출을 기록하거나 추가하는 더 좋은 방법이 있습니까? 내가 좋아하는 클래스가 예를 들어로깅을 추가하는 더 좋은 방법이나 모든 기능에서 발생해야하는 방법은 무엇입니까?
:
public class MyClass
{
public void DoStuff()
{
doSomethingEnter();
//MyCode
doSomethingExit();
}
public void DoStuff_2()
{
doSomethingEnter();
//MyCode
doSomethingExit();
}
}
doSomethingEnter()와 doSomethingExit() 함수의 시작과 끝에서 발생해야 할 다른 일 전화 통화 또는 이벤트를 로깅 할 수 있습니다.
public class MyClass
{
[DoSomethingEnterExit]
public void DoStuff()
{
//MyCode
}
}
그러나 내가 PostSharp 같은 AOP 프레임 워크를 구입하지 않고 비슷한 할 수있는 패턴이나 프레임 워크가 :
나는 나에게 이런 일을 수행 할 수 있습니다 Aspect 지향적 인 프로그래밍에 읽고 ?
감사합니다.
편집
나는 또한 항상 시작 및 종료 기능을 가지고 마스터 방법으로 호출되는 확실히 물건을 만들기 위해 외관의 종류를하고로 보았다.
유망한 것 같습니다 : https://github.com/AntyaDev/KingAOP – RS999
기본 클래스의 생성자/소멸자를 시도해 볼 수 있습니다. – Asmodiel
@Asmodiel은 함수의 끝에서 실행되도록 보장 된 exit 함수입니까? 소멸자가 가비지 수집 일정에 의존하지 않습니까? – RS999