最近要每天都工作到很晚 且還要忙著找新屋子
連 lively room 都沒好好的去管理 (大概要變空屋了吧)
今天要講的是,在同個專案裡,同時使用VB及C#去編輯類別庫
首先,要在WebConfig裡加入下列設定
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF6wkFT7SKCZiGigniSeECmSCtPpEDqeKk55WyUalSBdIoej-InZZ5YQt6FZsykBHwiNj0n3sGdas77PKDACh4PqFBAWYu3h_zq0P_4X2_ufPgUdf9GyvIc4wcY0nQc4j784t51P3168QU/s400/csvb0.png)
接著在App_Code裡加上設定的資料夾名稱
注意,要和config裡的相同喔
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7a3X5w1ziRCXYnH1kYoyu8Qw5_sa_az2jzJ4glkd_2inSWBzLBT5T3OWu2aTutMl8bfo95aC3NbrsOlF0QDGCilxUSAM-UzpxCS4NxOhMhP5DBJdV-9lO7we0QC1ZfphoyXDZF2SDO25c/s400/csvb8.png)
然後我們就可以如下面抓圖一樣
在同一個專案裡,同時建置.cs和.vb的class了
CSharp的Class
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUlnxrwuuSx0H_SB9TqLnsiRAfZgZ-5bTC75zwZHvMj7ksaIZnARCc6Z_ZIsjGfArqOQn8JFoNozmvvwNa9gQGSxaZSybghIscnRoBKLoPaz-dWZIJ94MiOh62uywwGqkV5VWlLv0VzytH/s400/csvb5.png)
VB的Class
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0kA0zAKI3wXPR4hIRwlT5XyLlEKVU05vXozwMyt3nY8zbk6anaj4A7MFMPze_rlWv5hM2qXfhiSgh2zmV9qZmgB8pzKK8jC-iTidr1Z0TjX-pjCh8DuN1SA8zquURwK29FldR3-rmFJO0/s400/csvb6.png)
在畫面上拉兩個Button做事件處理
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyKZf8L-_Qx3QkhnnRVqwwvfLhjMQtcmSZu_JnKD0IcGlSWn_gjjUEirRx7kJ7LJ4dPlupBCYObSBzHT-qHJlyf_FlZgHMA4R37qB0edEWdovRK_seCkm_0p0dPSOD6ZkIvLIkHd6Uy75l/s400/csvb2.png)
Button事件,分別引用 CSharp 的 myClass 和 vb 的 MyClass2
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBtpUJkfMITTjZiLPxb_i5tYDLpoQmjlJYhk_OZVZgqPH9pogvofEWGOkQEewarvBJJprTmWoE4PpJgL2A5W3k5v75Hh8Nj4n-E1k5-gg6BPJDUE5kWsnkR1GizvoREXHeSOtg1m-p0Sne/s400/csvb1.png)
結果畫面,左圖為點下 CSharp鍵,右圖為點下VB鍵
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfyY1G-crp0Bvc_FEVHqwoXw51l4S71wY_VoGckS6JVR-LL2Yqt5YL6jm63PMDg9X_s6Dug32IrGQ2g0sHBCw3aBn5FmYD_8BAhIcwnwgNWAB4Bf69bia4HHULICUERFWO5I6s_OU9PlSf/s400/csvb3.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgubHPmQqKDaiQ7UY1YFQ1vv_KpekCLq7kQCb7xgloqjj58_QNpNNjP3KYO-jNJT-TeGPdoFY926CTtUFV3LkA7UUf7vOpwNsiZeLIC8R_6nn0vHV_yxSu4JlF_nmehD5mkQ8dm8stePZt2/s400/csvb4.png)
以上都是參考網路上人家寫的範例
再來是坎尼測試的結果
雖然vs 2005允許 .cs 和 .vb共存
但卻不能夠利用 partial 關鍵字來同時編寫同一個class
以上面的圖為例
坎尼已經在 .cs裡宣告一個 myClass 的 class
此時還要去 .vb裡宣告另一個 myClass 時 .NET就跟坎尼說「不可以」
後來坎尼想一想也對
兩邊的東西本來就不相同 (語法、內建類別、函數...等)
在同一個class裡寫 恐怕在編譯時 電腦會先瘋掉吧
partial 的用途就是 在compile時 把兩個相同的class 編成同一個 dll
所以如果.vb和.cs共存 就可以想像成我們在同一個class裡
上一個函數還是 public string myMethod(){}
下一個函數怎麼會變成 public Function myFunction() As String
好了 最後再來課後補充一點
上述的方法是在講 App_Code 裡的東西
其實網頁專案平常就可以讓 .cs 和 .vb共存了
只要在新增一個WebForm時 選擇要用的語言即可
見下圖 (這是可以run的程式喔)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifo70m8GC032pRM7eqY2mmelE4JL6fMaxntYzFCzredGqup2oNRB2iV5WjHL7kS9kKuKOjfZUbsrQ5wg33rtpaigWsTIkggDJmX1xqS2BsCua4nEvhXbq_dnQovFWgQ4XcLPyABkW17zRe/s400/csvb7.png)
以上 這兩天放假坎尼就來多寫一些好了 (不過還是找房子先)
Tim一直說沒文章 (自己還不給我上來寫 大怒)
1 則留言:
我明明就有抽空亂貼了兩篇:p
這禮拜在測試 Win 2K8 & SQL 2K8,
等整理出來再貼個文(應該會很長),
這邊能不能上傳附件啊?
張貼留言