曙海教育集團(tuán)論壇開發(fā)語言培訓(xùn)專區(qū)VB語言 → 如何將Option Strict的設(shè)置保持為On(Add-In技術(shù))-.NET教程,VB.Net語言


  共有9493人關(guān)注過本帖樹形打印

主題:如何將Option Strict的設(shè)置保持為On(Add-In技術(shù))-.NET教程,VB.Net語言

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
如何將Option Strict的設(shè)置保持為On(Add-In技術(shù))-.NET教程,VB.Net語言  發(fā)帖心情 Post By:2010-12-14 12:21:55

在一次vsm的專訪中,dan appleman提到:“我希望visual studio 項目能夠在缺省狀態(tài)下將option strict設(shè)置為on,而無需用手工編輯向?qū)0濉!笨赡芎芏喑绦騿T都會認(rèn)同dan的觀點-- 在vb.net實現(xiàn)中,將option strict off設(shè)置成缺省狀態(tài)是mircosoft一大錯舉。但事實上你不必非得按照microsoft的這一設(shè)定。在以下這個技巧中,我會介紹如何建立一個自動將option strict設(shè)置為on的add-in方法(用這個方法你可能都會忘記如何使用手動添加了)。

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

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

接下來,在public onconnection 的事件處理(event handler)中將向?qū)傻拇a: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)。

現(xiàn)在你可以開始將option strict設(shè)置成on了。整個add-in 過程包括四個加入到connect類的小的vb.net子過程。add-in過程不需要用戶進(jìn)行干涉因而無需使用用戶界面。前兩個過程是同一個方法的重載(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

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

接下來建后兩個過程。每個過程各調(diào)用一個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會確保當(dāng)前vb項目中的option strict被設(shè)置成on。這些項目可能是在你安裝add-in之前就建好的,也可能是從一個沒有裝這個add-in的其他開發(fā)者那里拿來的。在將一個新的或是以前建好的項目加入到當(dāng)前的solution中后會觸發(fā)另一個事件處理(_solutionevents_projectadded),當(dāng)你用項目向?qū)г谛陆ǖ膕olution中加入一個項目模板時也會觸發(fā)這一事件。這一處理確保在所有新建vb項目中的option strict是on的狀態(tài)。

支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

如何將Option Strict的設(shè)置保持為On(Add-In技術(shù))-.NET教程,VB.Net語言








簽名
主站蜘蛛池模板: 99热这里只有精品国产动漫| 亚洲综合无码一区二区| 久久99国产乱子伦精品免费| 黄色毛片视频在线观看| 欧美性猛交xxxx乱大交3| 国产视频第二页| 亚洲精品国产精品国自产网站 | 99在线免费视频| 狠狠色先锋资源网| 大胸年轻的女教师5中字| 伊人色综合网一区二区三区 | 337p日本欧洲亚洲大胆精品555588| 波多野结衣作品在线观看| 在线观看www日本免费网站| 亚洲第一区se| 天堂在线免费观看| 校园激情综合网| 国产女人高潮抽搐喷水免费视频| 久久精品国产99国产精品澳门| 青青草国产免费| 成年性香蕉漫画在线观看| 全黄裸片一29分钟免费真人版| j8又粗又大又长又爽又硬男男| 波多野结衣视频网| 国产精品国语自产拍在线观看| 五月综合色婷婷在线观看| 香蕉视频成人在线观看| 抱着cao才爽| 免费大片黄在线观看| 92午夜少妇极品福利无码电影 | 四虎永久免费影院在线| 中文人妻无码一区二区三区| 真实的国产乱xxxx在线| 国产香蕉视频在线播放| 亚洲av无码一区二区三区观看| 阿娇囗交全套高清视频| 强迫的护士bd在线观看| 亚洲精品乱码久久久久久蜜桃图片 | 国色天香精品一卡2卡3卡| 亚洲国产另类久久久精品黑人| 国产高清小视频|