塑料排水板-植草格-土工膜厂家-泰安东诺工程材料有限公司

Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
[瀏覽完整版]

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

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

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

用以下兩個(gè)變量聲明來取代: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)

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

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

現(xiàn)在你可以開始將option strict設(shè)置成on了。整個(gè)add-in 過程包括四個(gè)加入到connect類的小的vb.net子過程。add-in過程不需要用戶進(jìn)行干涉因而無需使用用戶界面。前兩個(gè)過程是同一個(gè)方法的重載(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ù)代碼):一個(gè)將open solution中所有項(xiàng)目的option strict設(shè)置成on的不帶參數(shù)的方法和另一個(gè)將單獨(dú)指定項(xiàng)目中的option strict設(shè)置成on的帶proj參數(shù)的方法。

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

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .01563 s, 2 queries.
主站蜘蛛池模板: 亚洲暴爽av人人爽日日碰 | 国产午夜激无码av毛片 | 狠狠躁夜夜躁人人爽天天天天97 | 青青草成人网 | 国产精品久久久久久妇女6080 | 亚洲中文字幕无码一区二区三区 | 亚洲精品免费日日日夜夜夜夜 | 亚洲激情视频 | 久久成人性色生活片 | 在线亚洲网站 | 青青久操视频 | 成人在线观看午夜 | 国产午夜精品一区二区三区四区 | 亚洲另类激情专区小说图片 | 欧美大片毛片大片 | 最近免费中文字幕 | 精品国产97在线观看 | 一级a欧美毛片 | 吃奶摸下高潮60分钟免费视频 | 毛茸茸性xxxx毛茸茸毛茸茸 | 玩弄人妻少妇500系列网址 | 69国产成人综合久久精品 | 国产一级特黄特色aa毛片 | 中文字幕久久久 | 欧美激情久久欧美激情 | 欧美性高清在线视频 | 好爽好紧好大的免费视频国产 | 乱人伦人妻中文字幕无码久久网 | 91亚洲精品一区二区三区 | 国产精品爱久久久久久久 | 久久久www免费人成看片 | 风韵多水的老熟妇 | 高清一区在线 | 性色av无码久久一区二区三区 | 高潮毛片无遮挡高清免费视频 | 亚洲成人高清在线观看 | 影音先锋久久久久av综合网成人 | 成人 亚洲| www.国产精品视频 | 欧美人与zoxxxx另类 | 久久99精品久久久大学生 |