Если у меня есть класс, основанный на другом классе, как мне получить доступ к свойствам первого класса, если он может иметь любое имя? Я думал о том, чтобы использовать дженерики для доступа к свойствам, но дженерики являются «родовыми» по причине ...
Например:
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
?
РЕДАКТИРОВАТЬ: я пытаюсь сделать так, чтобы я мог использовать этот код позже. Я хочу иметь возможность иметь неизвестный класс, такой как public class unknownclassname
, который расширяет другой класс, такой как Microsoft.Xna.Framework.Game
, и иметь возможность доступа к классу unknownclassname
без непосредственного вызова / реализации его в коде библиотеки.