public フィールドを更新する2 つのクラスがClassOneあります。つまり、ClassTwodata
public class ClassOne {
public byte[] data = new byte[10];
// Thread that updates data
}
と
public class ClassTwo {
public byte[] data = new byte[10];
// Thread that updates data
}
常に 1 つのクラスとそれに関連付けられたスレッドのみが実行されます。つまり、アプリは実行時にデータのソースを検出し、 または のいずれClassOneかを使用しますClassTwo。という別のクラスでデータを解析したいのですParseMyDataが、これを設定する最善の方法について少し混乱しているため、 またはのいずれかからParseMyDataアクセスできます。dataClassOneClassTwo
私は現在、次のようなジェネリックを使用してそれを実行しようとしています:
public class ParseMyData<T> {
T classOneOrClassTwo;
ParseMyData(T t) {
classOneOrClassTwo = t;
}
public void parseIt() {
// Need to access data from either ClassOne or ClassTwo here, something like:
classOneOrClassTwo.data; // this obviously doesn't work
}
私の質問はdata、クラス内からフィールドにアクセスするにはどうすればよいParseMyDataですか? リフレクションを使用する必要がありますか? リフレクションは使用する唯一かつ最良の方法ですか?
ジェネリックスとリフレクションは初めてなので、考えやポインタは大歓迎です。