<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇開發語言培訓專區VB語言 → 如何將Option Strict的設置保持為On(Add-In技術)-.NET教程,VB.Net語言


      共有7389人關注過本帖樹形打印

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

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


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

    在一次vsm的專訪中,dan appleman提到:“我希望visual studio 項目能夠在缺省狀態下將option strict設置為on,而無需用手工編輯向導模板!笨赡芎芏喑绦騿T都會認同dan的觀點-- 在vb.net實現中,將option strict off設置成缺省狀態是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將會觸發第一個事件處理(_solutionevents_opened),激活add-in會確保當前vb項目中的option strict被設置成on。這些項目可能是在你安裝add-in之前就建好的,也可能是從一個沒有裝這個add-in的其他開發者那里拿來的。在將一個新的或是以前建好的項目加入到當前的solution中后會觸發另一個事件處理(_solutionevents_projectadded),當你用項目向導在新建的solution中加入一個項目模板時也會觸發這一事件。這一處理確保在所有新建vb項目中的option strict是on的狀態。

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

    返回版面帖子列表

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








    簽名
    主站蜘蛛池模板: 国产成人tv在线观看| gogo全球大胆专业女高清视频| 丰满熟女高潮毛茸茸欧洲| 三年片在线观看免费观看大全中国| eeuss影院www在线观看免费| 黄色三级电影免费观看| 美女污污视频网站| 欧美精品一二三| 日本一卡2卡3卡4卡无卡免费 | 免费在线观看视频网站| 人妻无码中文字幕| 久久精品一区二区免费看| 99国内精品久久久久久久| 精品无码人妻夜人多侵犯18| 欧美成人免费在线观看| 把腿扒开做爽爽视频在线看| 在线观看亚洲视频| 国产在线观看麻豆91精品免费| 免费黄色一级片| 亚洲av永久无码| ririai66在线观看视频| 草草影院ccyy国产日本欧美| 欧美日韩久久中文字幕| 成人国产网站v片免费观看| 国产精品R级最新在线观看| 北条麻妃一本到高清在线观看 | 免费人成视频在线观看不卡| 久久精品国产欧美日韩亚洲| 99riav视频国产在线看| 第一福利官方导航| 日韩av片无码一区二区三区不卡| 国产色无码精品视频国产| 国产va免费精品高清在线观看| 亚洲天堂一区二区三区四区| 东北老妇露脸xxxxx| 美女邪恶色动图gig27报| 最近中文字幕mv免费视频| 国内精品久久久久久无码不卡| 噗呲噗呲捣出白沫蜜汁| 亚洲AV无码一区二区三区人| 99热在线精品免费播放6|