私があなたの質問を正しく理解していれば、おそらくそのためにプライベート属性が必要になるでしょう。それらの間で操作する必要があるすべてのプロパティを含むクラスを作成し、両方のメソッドがアクセスできる場所に保存します。次のようなもの:
// Context class you create
public class Ctx{
// context data properties
// methods, etc
}
public class DoStuff{
private Ctx context;
public void M1(){
context = new Ctx();
// do stuff
// use some beginInvoke or whatever
// to call M2()
// do the rest of your stuff
}
public void M2(){
Ctx tmp = context;
// do stuff
}
}
このようなものを共有すると同時実行性の問題が発生する可能性があることに注意してください。そのためには、スレッド セーフなコンテキスト クラスを作成するか、lock ステートメントでコンテキスト オブジェクトにのみアクセスするようにしてください。次のようなもの:
public class Ctx{
public readonly Object _lock = new Object();
private int v1 = 0;
public int V1{
get{
lock(_lock)
return v1;
}
set{
lock(_lock)
v1 = value;
}
}
}