【发布时间】:2011-02-23 09:41:42
【问题描述】:
我有以下代码:
public void ParseNetworkPacket(IAsyncResult iResult)
{
NetworkConnection networkConnection = (NetworkConnection)iResult.AsyncState;
string teste = NetworkPacketType.ToString();
switch (this.NetworkPacketType)
{
case NetworkPacketType.ShotPacket:
break;
case NetworkPacketType.ShotResponsePacket:
break;
case NetworkPacketType.ChatMessagePacket:
break;
default:
break;
}
networkConnection.BeginReadPacket();
}
NetworkPacketType 是我定义的枚举。 在开关中,根据枚举的类型,我会调用不同的方法。 我想不使用 switch 来做到这一点,因为我可能有太多的枚举类型。 有没有其他方法可以做到这一点?或者使用枚举是唯一可能的方式?
【问题讨论】:
-
Switch 语句最适合有很多条件的情况。在你的例子中有多少是“太多”?
-
我还不确定,但可能很多......我只是想以更“通用”的方式来做。
-
带有虚方法的类层次结构怎么样?