欧美男女网站_18禁网站免费无遮挡无码中文_国产人妻777人伦精品hd_91超级碰碰_国产三级大全_精品无码国模私拍视频

以文本方式查看主題

-  曙海教育集團論壇  (http://m.scarborough.cn/bbs/index.asp)
--  VB語言  (http://m.scarborough.cn/bbs/list.asp?boardid=77)
----  如何將Option Strict的設置保持為On(Add-In技術)-.NET教程,VB.Net語言  (http://m.scarborough.cn/bbs/dispbbs.asp?boardid=77&id=2593)

--  作者:wangxinxin
--  發(fā)布時間:2010-12-14 12:21:55
--  如何將Option Strict的設置保持為On(Add-In技術)-.NET教程,VB.Net語言
在一次vsm的專訪中,dan appleman提到:“我希望visual studio 項目能夠在缺省狀態(tài)下將option strict設置為on,而無需用手工編輯向導模板。”可能很多程序員都會認同dan的觀點-- 在vb.net實現中,將option strict off設置成缺省狀態(tài)是mircosoft一大錯舉。但事實上你不必非得按照microsoft的這一設定。在以下這個技巧中,我會介紹如何建立一個自動將option strict設置為on的add-in方法(用這個方法你可能都會忘記如何使用手動添加了)。

第一步是通過使用add-in wizard來建立一個新的visual studio add-in 項目,并將其命名為vboptionstricton。當向導建好了這個add-in 并打開了connect.vb模塊的代碼窗口之后,你可以在這個connect類中聲明兩個類級(class-level) 變量。你需要將向導定義的這兩個變量:dim applicationobject as envdte.dte
dim addininstance as envdte.addin

用以下兩個變量聲明來取代:private _app as envdte.dte
private withevents _solutionevents as solutionevents

接下來,在public onconnection 的事件處理(event handler)中將向導生成的代碼:applicationobject = ctype(application, envdte.dte)
addininstance = ctype(addininst, envdte.addin)

用以下兩個給變量賦值的語句來取代:_app = ctype(application, envdte.dte)
_solutionevents = _app.events.solutionevents

然后,在solution explorer中選擇vboptionstricton項目,并通過在add reference 對話框的.net tab里選擇vslangproj assembly來添加一個reference。同時,在connect.vb模塊的代碼頂部加上imports vslangproj語句。 vslangproj assembly提供了名為prjoptionstrict的列舉(enumeration),其中包含optionstrict的可能值(on, off)。

現在你可以開始將option strict設置成on了。整個add-in 過程包括四個加入到connect類的小的vb.net子過程。add-in過程不需要用戶進行干涉因而無需使用用戶界面。前兩個過程是同一個方法的重載(overload):public sub setoptionstricton()
   dim proj as project
    check and set optionstrict for each project in
    the open solution by calling an overloaded
    version of this sub.
   for each proj in ctype(_app.getobject("vbprojects") _
      , projects)
      call setoptionstricton(proj)
   next
end sub

public sub setoptionstricton(byref proj as project)
   dim propoptionstrict as [property]
   with proj
      propoptionstrict = _
         .properties.item("optionstrict")
       if optionstrict not "on"...
      if ctype(propoptionstrict.value, _
         prjoptionstrict) <> _
         prjoptionstrict.prjoptionstricton then

          set opti.
         propoptionstrict.value = _
            prjoptionstrict.prjoptionstricton
         .save() save changes to the project.
      end if
   end with proj
end sub

通過使用上述重載,你可以得到兩種方法(用最少的重復代碼):一個將open solution中所有項目的option strict設置成on的不帶參數的方法和另一個將單獨指定項目中的option strict設置成on的帶proj參數的方法。

接下來建后兩個過程。每個過程各調用一個setoptionstricton方法:private sub _solutionevents_opened() _
   handles _solutionevents.opened
      call setoptionstricton()
   end sub

   private sub _solutionevents_projectadded( _
      byval project as envdte.project) handles _
      _solutionevents.projectadded

      call setoptionstricton(project)
   end sub

打開visual studio中的一個solution將會觸發(fā)第一個事件處理(_solutionevents_opened),激活add-in會確保當前vb項目中的option strict被設置成on。這些項目可能是在你安裝add-in之前就建好的,也可能是從一個沒有裝這個add-in的其他開發(fā)者那里拿來的。在將一個新的或是以前建好的項目加入到當前的solution中后會觸發(fā)另一個事件處理(_solutionevents_projectadded),當你用項目向導在新建的solution中加入一個項目模板時也會觸發(fā)這一事件。這一處理確保在所有新建vb項目中的option strict是on的狀態(tài)。

主站蜘蛛池模板: 午夜精品一二三区 | 日韩欧美中文在线观看 | 四虎永久免费地址 | 亚洲欧美色图片 | 中文字幕视频二区 | 色播五月婷婷 | 亚洲天堂网在线视频 | 亚洲视频91 | 欧美在线高清 | 亚洲999| 欧美特黄视频 | 亚洲爽| 青青草这里只有精品 | 国产午夜免费视频 | 亚洲欧美乱综合图片区小说区 | 91麻豆精品 | 一级黄色a视频 | 欧美精品在线视频 | 另类图片av | 一级黄视频 | 亚洲天堂精品在线 | 日本天堂在线播放 | 99re热这里只有精品视频 | 久久综合一区二区三区 | aaaa毛片| 久久久亚洲一区 | 久久调教 | www.久久成人 | 欧美在线专区 | 国产成人在线一区 | 中文字幕1区 | 久久精品伦理 | 欧美日韩色综合 | 国产亚洲一区二区三区在线观看 | 视频精品久久 | 艹久久| 伊人影院久久 | 日本在线观看一区 | 国产高清在线 | 色噜噜狠狠一区二区三区果冻 | 日韩欧美视频在线免费观看 |