Alex Rivera | Logout

How can I use enum in C# for storing string constants?

Asked 2009-12-05T08:18:16.163
63

Possible Duplicate:
Enum with strings

Is it possible to have string constants in enum like the following?

      enum{name1="hmmm" name2="bdidwe"}

If it is not, what is the best way to do so?

I tried it, but it's not working for string so right now I am grouping all related constants in one class like

      class operation
      {
          public const string  name1="hmmm";
          public const string  name2="bdidwe"
      }
Edit
Report

1 Answer

11

The whole point of enums is to be ordinal constants.
However, you can achieve what you want by using an extension method:

  enum Operation
  {
      name1,
      name2
  }

  static class OperationTextExtender
  {
        public static String AsText(this Operation operation)
        {
              switch(operation)
              {
                    case Operation.name1: return "hmmm";
                    case Operation.name2: return "bdidwe";
                    ...
              }
        }
  }

  ...
  var test1 = Operation.name1;
  var test2 = test1.AsText();   
answered 2009-12-05T08:30:28.233

Your Answer