Динамический вызов процессору по типу запроса
Может быть, моя проблема проста, но я запутался, потому что я новичок в динамическом программировании.
Вот проблема: у меня есть интерфейс, который называется IGame. и у меня есть два других интерфейса IGameRequest и IGameProcessor.
public interface IGame {}
public interface IGameRequest: IGame {}
public interface IGameProcessor: IGame
{ void process();}
public interface IKidGameRequest : IGameRequest {}
public interface IKidGameProcessor : IGameProcessor
{ void process();}
С другой стороны,
public class KidGameRegistrationRequest : IKidRelatedRequest {//something}
Так что в итоге у меня есть что-то вроде ниже
IGame
| |
IGameRequest IGameProcessor
| |
IKidGameRequest **IKidGameProcessor**
|
**KidGameRegistrationRequest **
Я пытаюсь найти KidGameProcessor, когда я получаю KidGameRegistrationRequest во время выполнения.
Я попытался получить все сборки и найти любую из них с именем Kid и предотвратить любую статическую строку. Я добавил класс enum GameType, и мне удалось найти подходящий процессор, но я застрял, чтобы вызвать этот метод во время выполнения.
Public enum GameType {Kid}