의 소유 인스턴스를 얻는 방법을 알고 싶습니다. Table Adapter
만 있으면됩니다.변수의 인스턴스로 인해 액세스
public class example
{
public User _user;
public TableAdapter _adapter;
someMethods();
.
.
.
}
나는 aspect 지향 프레임 워크 PostSharp 작업 :
그래서, 예를 들어,이 클래스가있다. 로깅 목적을 위해 get_Adapter 메서드가 호출 될 때 실행되는 메서드가있는 로깅 클래스가 있습니다. 따라서 로깅 클래스에서 나는 TableAdapter
을 인수로 사용합니다. 내가 필요한 것은 User 객체이다.
불행히도, 내가 얻을 필요가있는 클래스의 디자인에서 아무것도 변경할 수 없기 때문에,이 모든 것은 TableAdapter
입니다. 내 로깅 클래스는 다음과 같이 (단순화 된) 같습니다 :
public class logger
{
public override void OnExit(MethodExecutionArgs args)
{
TableAdapter = (TableAdapter)args.Instance;
//here I need the example object in order to get the current user object
}
}
어떤 방법이 있습니까? 반사? 아무것도?
미리 도움을 주셔서 감사합니다.
아, 그런데 C# 및 WinForms에서 작업합니다.
그래서 'TableAdapter'도 변경할 수 없습니까? – Marnix
불행히도 아닙니다. 나는 가능한 한 내 질문을 단순화하려고 노력했다. 실제 시나리오는 다음과 같습니다. 작동하는 시스템에서 사용자를 보유하는 예제 클래스는 수 십 개의 클래스의 기본 클래스입니다.이 모든 클래스는 하나 이상의 테이블 어댑터를 사용합니다. 그래서 100 개가 넘는 테이블 어댑터를 교체해야합니다. – TheNewGuy
@ TheNewGuy 나는 당신의 요구가 가능하다는 것을 믿지 않는다. 이러한 모든 테이블 어댑터를 변경하고 적절한 계층화 된 아키텍처로 코드를 재 작성해야만 향후 이러한 문제를 피할 수있는 한 제안 할 것입니다. – asawyer