繁体   English   中英

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

[英]how to bind enum values to strings

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

我想用一个枚举来表示通信协议,也许像这样:

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

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

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

谢谢!

好吧,您可以创建一个将值转换为字符串的函数,或者您将值ToString

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

您可以使用enum成员的名称与Enumparse成员一起获取正确的值:

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

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

这被问了很多。 这里查看答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM