天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

從數據到代碼—通過代碼生成機制實現強類型編程[上篇]

  我不知道大家對CodeDOM的代碼生成機制是否熟悉,但是有一點可以確定:如果你使用過Visual Studio,你就應該體驗過它帶給我們在編程上的便利。隨便列舉三種典型的代碼生成的場景:在創建強類型DataSet的時候,VS會自動根據Schema生成相應的C#或者VB.NET代碼;當我們編輯Resource文件的時候,相應的的后臺代碼也會自動生成;當我們通過添加Web Reference調用Web Service或者WCF Service的時候,VS會自動生成服務代理的代碼和相應的配置。總的來說,通過和VS集成的動態代碼生成工具使我們可以“強類型”的方式進行編程,進而提供我們的效率并減低錯誤的幾率。

  實際上,除了VS提供的這些典型的代碼生成場景中,我們可以根據需要開發一些自定義代碼生成器,并且通過VS的擴展實現后臺代碼的實時生成,從而實現強類型編程的目的,現在我們舉一個典型的應用場景——消息管理。

  一、一個典型的自定義代碼生成器應用場景——消息管理

  無論對于怎么樣的應用,我們都需要維護一系列的消息。消息的類型很多,比如驗證消息、確認消息、日志消息等。我們一般會將消息儲存在一個文件或者數據庫中進行維護,并提供一些API來獲取相應的消息項。這些API一般都是基于消息的ID來獲取的,換句話說,消息獲取的方式是以一種“弱類型”的編程方式實現的。如果我們能夠根據消息存儲的內容動態地生成相應的C#或者VB.NET代碼,那么我們就能夠以一種強類型的方式來獲取相應的消息項了。

  比如說,現在我們定義了如下一個MessageEntry類型來表示一個消息條目。為了簡單,我們盡量簡化MessageEntry的定義,僅僅保留三個屬性Id、Value和Category。Category表示該消息條目所屬的類型,你可以根據具體的需要對其分類(比如根據模塊名稱或者Severity等)。Value是一個消息真實的內容,可以包含一些占位符({0},{1},…{N})。通過指定占位符對用的值,最中格式化后的文本通過Format返回。

   1: public class MessageEntry
   2: {
   3:     public string Id { get; private set; }
   4:     public string Value { get; private set; }
   5:     public string Category { get; private set; }
   6:     public MessageEntry(string id, string value, string category)
   7:     {
   8:         this.Id         = id;
   9:         this.Value      = value;
  10:         this.Category   = category;
  11:     }
  12:     public string Format(params object[] args)
  13:     {
  14:         return string.Format(this.Value, args);
  15:     }
  16: }

NET技術從數據到代碼—通過代碼生成機制實現強類型編程[上篇],轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 手机看片国产日韩欧美 | 国产精品免费视频播放 | 97亚洲狠狠色综合久久位 | 九九99国产香蕉视频 | 亚洲午夜久久影院 | 国产国拍亚洲精品永久软件 | 影音先锋2017av天堂 | 中国老太婆xxxxx | 人妻体内射精一区二区 | 精品区2区3区4区产品乱码9 | 色色色五的天 | 久久久精品3d动漫一区二区三区 | JK白丝校花爽到娇喘视频 | 国产精品久久久亚洲偷窥女厕 | 无码成A毛片免费 | 精品国产乱码久久久久久免费 | 亚洲国产精品久久精品成人网站 | old老男人野外树林tv | 青柠在线观看免费播放电影 | 色情在线avav | 美女被免费喷白浆视频 | 国产精品96久久久久久AV不卡 | 男人吃奶摸下挵进去啪啪 | 国产精品永久免费视频观看 | 人妻无码AV中文系统久久免费 | 成人综合在线观看 | 亚洲国产高清视频在线观看 | 嫩草在线播放 | 乱xxxjapanese黑人 | 亚洲人成色777777老人头 | 秋霞网韩国理伦片免费看 | 973午夜伦伦电影论片 | 日本xxx在线观看免费播放 | 中文字幕乱码一区AV久久 | YELLOW视频在线观看最新 | 精品伊人久久久 | 在线视频网站www色 在线视频免费国产成人 | 啪啪激情婷婷久久婷婷色五月 | 忘忧草在线影院WWW日本二 | 第一次破女初国产美女 | 国产亚洲精品品视频在线 |