代码之家  ›  专栏  ›  技术社区  ›  Skretch

在c中创建一组静态常量变量#

  •  2
  • Skretch  · 技术社区  · 9 年前

    我正在尝试创建一组变量,这些变量可以作为方法变量传递,如下所示

    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才能实现此功能?

    我在谷歌搜索过,但似乎找不到合适的搜索短语来找到答案。

    2 回复  |  直到 9 年前
        1
  •  4
  •   sujith karivelil    5 年前

    你必须使用 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;
        }
    }
    
        2
  •  3
  •   Dmitry Bychenko    9 年前

    也许你想要 enum ,不是 static class :

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