猿问

使用映射而不是 switch/if else 调用具有不同参数的方法

我正在使用 ac# 方法,它根据某些条件调用不同的方法,我想知道是否可以在没有 switch 或 if else 语句的情况下执行此操作。下面是我的代码


if (msg== atype)

{

    _aHandler.HandleAType(msg, TopicType.A);

}

else if (msg== btype)

{

    _

    _btype.HandleBType(msg, TopicType.B);

}

else if (msg== ctype)

{

    _cHandler.HandleC(msg);

}

else if (msg== dtype)

{

    _dHandler.HandleDType(msg);

}


else

    _logger.Error($"No matching type found for {msg}");

请注意,我在每个条件下都有不同类型的参数的不同方法。


有没有更好的方法可以在没有 switch/if-else 的情况下做到这一点?


德玛西亚99
浏览 135回答 1
1回答
随时随地看视频慕课网APP
我要回答