Доброго времени суток!
Сделал перечисление:
Код | public enum MessageID : int { MID_S_GET_GI = 1, MID_S_GET_QUESTION = 2, MID_S_GET_QUESTION_COUNT = 3, MID_S_GET_PERMIT = 4
|
Использую его вот таким образом:
Код | public byte[] mCreate(MessageID id, int length) { MemoryStream ms = new MemoryStream(); BinaryWriter binWriter = new BinaryWriter(ms); binWriter.Write((int)id); // <- Упаковка? ..........................................
public void mAnalys(byte[] buffer) { MemoryStream stmReader = new MemoryStream(buffer); BinaryReader binReader = new BinaryReader(stmReader); int id = binReader.ReadInt32(); switch (id) { case (int)MessageID.MID_S_GET_GI: // <- Упаковка? Console.WriteLine("identifier: {0}", id); break; ...............................
|
Помнится в С++ тоже иногда мне приходилось явно приводить перечисление к int, в С# также делать? Или я неправильно с перечислениями работаю?
|