2015-09-23 3 views
2

Я пытаюсь сделать набор переменных, которые я могу передать, как метод переменное что-то вроде этогоСоздание набора статических постоянных переменных в C#

static class ListViewStates 
{ 
    public const int ACCOUNTVIEW = 1; 
    public const int LARGEIMAGEVIEW = 2; 
    public const int INFOVIEW = 3; 
} 

class ListViewHandler 
{ 
    public void SetListViewState(ListViewStates state) 
    { 
     switch(state) 
     { 
      case 1: 
       break; 
      case 2: 
       break; 
      case 3: 
       break; 
     } 
    } 
} 
class main 
{ 
    ListViewHandler listhndlr = new ListViewHandler(); 
    listhndlr.SetListViewState(ListViewStates.ACCOUNTVIEW); 
} 

Что я должен делать с ListViewStates, чтобы сделать эту работу ?

Я осмотрел Google, но я не могу найти правильную поисковую фразу, чтобы найти ответ.

+2

Похоже, вы можете использовать перечисление вместо (https://msdn.microsoft.com/en-us/library/sbbt4032.aspx) –

ответ

4

Вы должны использовать enum вместо этого для отдельного класса. определение для enum будет выглядеть следующим образом:

enum ListViewStates 
    { 
     ACCOUNTVIEW = 1, 
     LARGEIMAGEVIEW = 2, 
     INFOVIEW = 3, 
    } 

Чтобы получить доступ к этому вы должны переписать метод подписи, как следующий вид:

public void SetListViewState(ListViewStates state) 
     { 
      switch (state) 
      { 
       case ListViewStates.ACCOUNTVIEW: 
        break; 
       case ListViewStates.LARGEIMAGEVIEW: 
        break; 
       case ListViewStates.INFOVIEW: 
        break; 
      } 
     } 
3

Вероятно, вы хотите enum, не static class:

public enum ListViewStates 
{ 
    ACCOUNTVIEW = 1, 
    LARGEIMAGEVIEW = 2, 
    INFOVIEW = 3 
}