关闭

枚举格式在.net中的应用

标签: .netstringlist
996人阅读 评论(0) 收藏 举报
分类:

       枚举变量,就是指用 Enum 类型定义的变量。变量和参数都可以定义为 Enum 类型。Enum 类型中的元素被初始化为 Enum 语句中指定的常数值。Enum 语句只能在模块级别中出现。定义 Enum 类型后,就可以用它来定义变量,参数或返回该类型的过程。不能用模块名来限定 Enum 类型类模块中的 Public Enum 类型并不是该类的成员;只不过它们也被写入到类型库中。在标准模块中定义的 Enum 类型则不写到类型库中。具有相同名字的 Public Enum 类型不能既在标准模块中定义,又在类模块中定义,因为它们共享相同的命名空间。若不同的类型库中有两个 Enum 类型的名字相同,但成员不同,则对这种类型的变量的引用,将取决于哪一个类型库具有更高的引用优先级。

为了形象说明,举个例子来说明一下枚举的应用,在duwamish中恰有一个,在搜索页面传值过程中,

String searchText = SearchTextBox.Text.Trim();
 

            int index = SearchDropDownList.SelectedIndex;
            Response.Redirect((new StringBuilder(PageBase.UrlBase))
                            .Append("/searchresults.aspx?type=")
                            .Append(index)
                            .Append("&fullType=")
                            .Append(Server.HtmlEncode(SearchDropDownList.Items[index].Text))
                            .Append("&text=")
                            .Append(Server.UrlEncode(searchText)).ToString(), false);

其中在类PageBase下面的定义的UrlBase

public static String UrlBase
 {
  get
  {
   return @"http://" + UrlSuffix;
  }
 }

private static string UrlSuffix
 {
  get
  {
   return HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath;
  }
 }

在BookData定义的枚举为

        public enum SearchTypeEnum
        {
            /// <summary>
            ///     Title search.
            /// </summary>
            Title = 0,
            /// <summary>
            ///     ISBN search.
            /// </summary>
            ISBN = 1,
            /// <summary>
            ///     Author search.
            /// </summary>
            Author = 2,
            /// <summary>
            ///     Subject search.
            /// </summary>
            Subject = 3,
            /// <summary>
            ///     Id search.
            /// </summary>
            ID = 4,
            /// <summary>
            ///     Id list search.
            /// </summary>
            IdList = 5
        }

在type传值时,在搜索结果页面中,调用了枚举

 Duwamish7.Common.Data.BookData.SearchTypeEnum searchEnumType;

searchEnumType = (Duwamish7.Common.Data.BookData.SearchTypeEnum)Int32.Parse(Request.QueryString["type"]);

这样如果在查询标题时,Tite在传值的时候对应的是0,这样searchEnumType在这取的值就为Title 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:34515次
    • 积分:566
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:6篇
    • 译文:0篇
    • 评论:19条
    最新评论