如何将枚举值绑定到字符串

时间:2010-01-14 08:51:39

标签: c#

在我的项目中,有一个包含组合框的UI,组合框将列出一些通信协议,如TCP / IP,FTP等

我想使用枚举来呈现通信协议,可能是这样的:

public enum CommuProtocol 
{
   TCPIP = 0,
   FTP,
   MPI,
   Other
}

那么,如何将枚举值绑定到组合框中的文本。例如,从组合框中选择的文本中我可以很容易地知道相应的枚举值,反之亦然。我希望将来很容易扩展。

文本可能与枚举值等不同,TCP / IP与TCPIP ...

谢谢!

3 个答案:

答案 0 :(得分:4)

好吧,要么创建一个将值转换为字符串的函数,要么ToString值:

CommuProtocol prot = CommuProtocol.FTP;
string name = prot.ToString();

您可以使用枚举成员的名称来获取parse member of Enum的正确值:

CommuProtocol prot = System.Enum.Parse(CommuProtocol, "FTP");

但是,由于成员的名称可能不适合显示,因此您最终可能会创建一个翻译名称的方法。

答案 1 :(得分:2)

答案 2 :(得分:2)

这被问了很多。请参阅答案here