public フィールドを更新する2 つのクラスがClassOne
あります。つまり、ClassTwo
data
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
アクセスできます。data
ClassOne
ClassTwo
私は現在、次のようなジェネリックを使用してそれを実行しようとしています:
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
ですか? リフレクションを使用する必要がありますか? リフレクションは使用する唯一かつ最良の方法ですか?
ジェネリックスとリフレクションは初めてなので、考えやポインタは大歓迎です。