2015-11-09 3 views
1

Я создал метод extenstion на мой пользовательский тип перечислений каклокализованы перечисление как метод расширения

public static class GetLocEnum 
{ 
    private static string Translate(this MyEnum e, int lang) 
    { 
     string res = string.Empty; 
     if (lang == 1) 
     { 
      switch (e) 
      { 
       case MyEnum.OptionOne: 
        res = "some title"; 
        break; 
       case MyEnum.OptionTwo: 
        res = "some title 2"; 
        break; 
       case MyEnum.OptionThree: 
        res = "some title 3"; 
        break; 
      } 
     } 
     // more if's ... 
     return res; 
    } 
} 

Почему я не могу теперь использовать это как расширение в MyEnum.Translate()?

+0

Для справки, здесь [хороший вопрос SO] (http://stackoverflow.com/questions/17380900/enum-localization) о локализации и перечислениях. Принятый ответ показывает хороший, гибкий подход к локализации ваших индивидуальных значений перечисления. –

+1

изменить модификатор доступа на 'public' –

+1

. Вы всегда должны показывать * полный * пример (на самом деле вы не показываете, как вы его называете) вместе с точным сообщением об ошибке, которое вы получаете. Если это в одном проекте, я ожидаю, что сообщение об ошибке компилятора будет полезно. –

ответ

6

Это просто потому, что это личное! Измените его на общедоступный, если вы хотите использовать его в другом месте.