按请求类型动态调用处理器

时间:2018-09-05 16:31:43

标签: c# dynamic-programming

也许我的问题很容易,但是我变得很困惑,因为我对动态编程还很陌生。

这是问题所在: 我有一个称为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 **

在运行时收到KidGameRegistrationRequest时,我尝试找到KidGameProcessor。

我试图获取所有程序集并搜索任何带有 Kid 名称的程序集,并且为了防止出现任何静态字符串,我添加了一个枚举类 GameType ,并设法找到了正确的处理器,但我坚持要在运行时调用该方法。

Public enum GameType {Kid}

0 个答案:

没有答案