2013-10-01 2 views
3

Как я могу построить группу константной переменной в C#?Как построить группу постоянных переменных в C#

Например:

IconType { 
    public constant string folder = "FOLDER"; 
    public constant string application = "APPLICATION"; 
    public constant string system = "SYSTEM"; 
} 

Тогда мне нужно использовать его как это способы IconType.system , но я не хочу, чтобы сделать заявление, как тип IconType = новый IconType(), я хочу, чтобы направление доступ к его переменной.

Это выглядит как JOptionPanel в Java, когда я хочу, чтобы отобразить значок я просто нужно вызвать этот JOptionPane.WARNING_MESSAGE

ответ

10

Просто определить их в классе, и поскольку const неявно статические вы можете использовать их

class IconType 
{ 
    public const string folder = "FOLDER"; 
    public const string application = "APPLICATION"; 
    public const string system = "SYSTEM"; 
} 

Позже вы можете использовать их люблю:

Console.WriteLine(IconType.folder); 

You могут видеть: Why can't I use static and const together? от Jon Skeet

+1

Так много повторяющихся ответов, но только один, который обеспечивает вкусную «неявно статичную» деталь. – Gusdor

+0

Спасибо, @Habib, я думаю, что этот ответ более подходит для моей ситуации, хотя другие могут работать. – overshadow

+0

@overshadow, приветствуем вас, вы также можете использовать корпус pascal для своего 'const'. См. Этот вопрос для [.Net соглашений об именах для const] (http://stackoverflow.com/questions/242534/c-sharp-naming-convention-for-constants) – Habib

0

Вы можете использовать Enum вместо этого?

MSDN Enumeration Types

+0

Enums не могут быть строками. – Gusdor

+1

Вы можете иметь [Описание] Атрибуты, определенные для каждого значения перечисления. –

+0

@VenkatRenukaPrasad В какую сторону? Зачем надувать код, необходимый для получения строкового значения? – Gusdor

1

Похоже, вы хотели бы использовать перечисления?

public enum IconType { 
    Folder, 
    Application, 
    System 
} 

Разве этого не достаточно?

+0

Наверное, нет, если это для какого-то взаимодействия ... – vines

0

Вам нужен класс.

public static class IconType 
    { 
     public const string folder = "FOLDER"; 
     public const string application = "APPLICATION"; 
     public const string system = "SYSTEM"; 
    } 
0

Вы можете построить класс с константами, которые неявно статичны и, таким образом, доступны без экземпляра типа.

class IconType 
{ 
    public const string folder = "FOLDER"; 
    public const string application = "APPLICATION"; 
    public const string system = "SYSTEM"; 
} 

Вы также можете использовать Сильные типизированные настройки, созданные для Visual Studio в большинстве проектов на C#.

Properties.Settings.Default

Смежные вопросы