最近要每天都工作到很晚 且還要忙著找新屋子
連 lively room 都沒好好的去管理 (大概要變空屋了吧)
今天要講的是,在同個專案裡,同時使用VB及C#去編輯類別庫
首先,要在WebConfig裡加入下列設定

接著在App_Code裡加上設定的資料夾名稱
注意,要和config裡的相同喔

然後我們就可以如下面抓圖一樣
在同一個專案裡,同時建置.cs和.vb的class了
CSharp的Class

VB的Class

在畫面上拉兩個Button做事件處理

Button事件,分別引用 CSharp 的 myClass 和 vb 的 MyClass2

結果畫面,左圖為點下 CSharp鍵,右圖為點下VB鍵


以上都是參考網路上人家寫的範例
再來是坎尼測試的結果
雖然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的程式喔)

以上 這兩天放假坎尼就來多寫一些好了 (不過還是找房子先)
Tim一直說沒文章 (自己還不給我上來寫 大怒)
1 則留言:
我明明就有抽空亂貼了兩篇:p
這禮拜在測試 Win 2K8 & SQL 2K8,
等整理出來再貼個文(應該會很長),
這邊能不能上傳附件啊?
張貼留言