访问由于变量的实例

时间:2012-05-07 12:17:05

标签: c# winforms postsharp visual-web-gui

如果我只有TableAdapter,我需要知道如何获取Table Adapter的拥有实例。

所以,例如,有这个类:

public class example 
{
   public User _user;
   public TableAdapter _adapter;

   someMethods();
   .
   .
   .
}

我使用面向方面的框架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。

1 个答案:

答案 0 :(得分:0)

就postharp而言,如果没有某种类型的中介,例如额外的方面或者注入tableadapter实例,你将无法访问它,这是对它的宿主类的引用。

你可以尝试走这个堆栈并试着这样做。