枚举到C#中的类

本文关键字:枚举 | 更新日期: 2023-09-27 18:21:20

我有一个类似的枚举:

public enum CommonMessage : ushort
{
    val =1,
    val2 = 2,
    val3 = 3
 }

我必须将此数据发送到其他应用程序。我的应用程序和其他应用程序之间通过comport(serialCommunication)进行通信。

我也会将数据返回到我的应用程序。

我想将此枚举转换为类。请告诉我该怎么做。变量的数据类型应该是什么。

枚举到C#中的类

枚举基本上是一组表示数字的命名常量。因此,您可以将类型转换为它的等效数字,然后相应地转换返回的内容。因此,如果您想将值传递给应用程序,可以将枚举转换为它的数字类型:

var myEnumNumericValue = (ushort)CommonMessage.val; //would represent "CommonMessage.val" 

当你的应用程序发回一个值时,它将是一个数字,你可以相应地将其转换回:

var enumValue = (CommonMessage)returnValue; //where return value is an ushort

如果必须发送类,请发送Int32-它是枚举值的最小形式。

您连接的客户端可以在本地解析它,从而允许使用不同的技术,即JavaScript客户端可以实现匹配的枚举,或者您可以在.Net客户端中使用对同一枚举的引用。无论哪种方式,它都应该仍然是一个int并且易于传输。

希望能有所帮助。