別のクラスに基づいたクラスがある場合、どのクラスにも名前がある場合、そのクラスのプロパティにアクセスするにはどうすればよいですか?例えばジェネリックスを使用したXNAゲームでのクラスへのアクセス
...私はプロパティにアクセスするためにジェネリックを使用して考えていたが、ジェネリック医薬品は理由が「汎用」です:
public class AGameInXNA : Microsoft.Xna.Framework.Game
{
int ExampleGameProperty;
}
// ... another class ... //
public class ReferenceToAGameInXNA
{
Game gameInstance;
public void SetGameInstance(Game game)
{
gameInstance = game;
}
public void SetExampleGameProperty()
{
gameInstance.ExampleGameProperty = 21; // I don't know the name of
// AGameInXNA, so I want to
// access it using a generic
// class.
}
}
私はそれが動作しないことを知っているので、どのように私は希望AGameInXNA
の名前がわからない場合は、この場合はジェネリックスを使用して別のクラスのAGameInXNA
のプロパティにアクセスしてください。
EDIT:このコードを後で再利用できるようにしています。 Microsoft.Xna.Framework.Game
のように別のクラスを拡張するpublic class unknownclassname
のような未知のクラスを持つことができ、ライブラリコードで直接呼び出し/実装することなくクラスunknownclassname
にアクセスできるようにしたいと考えています。
'AGameInXNA'でのみ定義されているプロパティがいくつかある場合、どのようにこれらのプロパティにアクセスできますか? –
あなたはそれが 'AGameInXNA'であることを知っています。あなたが得るものが 'Game'ですが、実際に' AGameInXNA'だと分かっていれば、キャスティングを使うことができます。 – svick