开发者

how to bind enum values to strings

In my project there is an UI which contains a combobox and the combobox will list some communication protocol, such as TCP/IP, FTP and so on

I want to use an enum to present the communication protocols, maybe like this:

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

so, how to bind the enum value to the text in combobox. For example, from the text selected in combobox I can easily know the correspond开发者_开发问答ing enum value and vice versa. And I hope that will be easy to be extended in the future.

The text maybe not the same with the enum value, etc, TCP/IP vs TCPIP...

Thanks!


Well, either you make a function which translates the values into strings or you ToString the value:

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

You can use the name of the enum member to get a proper value with the parse member of Enum:

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

However, since the names of the members might not be suitable for display it's possible that you'll end up making a method that translates the names anyway.


You should go with Enum.GetValues() method. Here is an example: How do you bind an Enum to a DropDownList control in ASP.NET?


This gets asked a lot. See the answers here.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜