私はTable Adapter
があれば、TableAdapter
の所有インスタンスを取得する方法を知る必要があります。変数のインスタンスにアクセスする
ので、例えば、このクラスがあります:
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で作業しています。
また、あなたは 'TableAdapter'も変更できませんか? – Marnix
残念ながら。私は可能な限り私の質問を簡素化しようとしました。実際のシナリオは次のとおりです。私が動作するシステムでは、ユーザーを保持するサンプルクラスは数十のクラスの基本クラスです。これらのクラスはすべて1つ以上のテーブルアダプタを使用します。だから私は100以上のテーブルアダプタを変更する必要があります。 – TheNewGuy
@ TheNewGuy私はあなたの質問が可能であるとは思わない。これらのテーブルアダプタをすべて変更して、コードを適切な階層構造のアーキテクチャに戻して、将来これらの問題を回避できるようにしなければならない限り、私はお勧めします。 – asawyer