私の問題は、値を更新して処理する「クラスA」を1つ作成することです。「クラスB」は「クラスA」内に作成され、クラスAの値を読み取る必要があります。
これで、クラスAの値を次のように作成できます。
public static int AInt { get { return aInt; } }
static int aInt;
そして、A.AIntとしてB内でそれらにアクセスします。
ただし、ポインターを使用することはできますが、これは非常に反c#のようです。
public class A
{
int aInt;
unsafe public A()
{
fixed(int *aPtr = &aInt)
B b = new B(aPtr);
}
// Changes aInt
}
unsafe public class B
{
int *bInt;
public B(int *a)
{
bInt = a;
}
// Does stuff according to bInt value changes
}
値の更新メソッドを明示的に呼び出さずに、あるクラスの値を別のクラスに提供するためのより良いアプローチについて、私は少し混乱しています。最初の例はそれがどのように行われるべきかということだと思いますが、私はC ++のバックグラウンドを持っているので、ポインターが私にとっての標準です。
コンパイルフラグを変更し、fixed()を使用して変数を変更し、メソッド/クラスを安全でないものとしてマークする必要があるため、c#ではポインターを実行するのが面倒に思えます。
より良い解決策のためのガイダンス/ヒントをありがとう。