form_load是Form類在調(diào)用New
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),尼金平企業(yè)網(wǎng)站建設(shè),尼金平品牌網(wǎng)站建設(shè),網(wǎng)站定制,尼金平網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,尼金平網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
構(gòu)造函數(shù)
后加載窗體繪圖后才調(diào)用的方法
而Public
Sub
New就是VB.net中類的
默認(rèn)構(gòu)造函數(shù)
如果說(shuō)區(qū)別么
一個(gè)是構(gòu)造函數(shù),一個(gè)是普通的過(guò)程.
嚴(yán)格意義上說(shuō)
如果你在
實(shí)例化(
對(duì)象化
)一個(gè)類的時(shí)候,就想完成某些初始化操作時(shí),如給類實(shí)例的某個(gè)屬性,某個(gè)成員變量賦值的話,那么可以在New函數(shù)中完成.
每個(gè)類都默認(rèn)有一個(gè)New函數(shù),即使你不寫,系統(tǒng)也會(huì)默認(rèn)加載一個(gè),默認(rèn)的類函數(shù)的修飾符是Public.
而Form_Load只是存在于Form類中的一個(gè)過(guò)程.并不是每個(gè)類都默認(rèn)具有的.
在vb.net中定義staticextern函數(shù):用static聲明的局部變量。static是C++中常用的修飾符,它被用來(lái)控制變量的存貯方式和可見(jiàn)性。extern,C是使C++能夠調(diào)用C寫作的庫(kù)文件的一個(gè)手段。
你只從使用者的角度去考慮,當(dāng)然覺(jué)得沒(méi)有必要。
如果是類的創(chuàng)建者呢? 創(chuàng)建一個(gè)類的時(shí)候如果不想被繼承(因?yàn)樘鞖獠缓?,心情不好,打牌輸錢了等等原因),這時(shí)候這個(gè)修飾符就有用了。
在C#中有 靜態(tài)類 的概念 自然里邊全部的方法都是靜態(tài)的 這意味著你可以直接通過(guò) 類名 方法名 去調(diào)用(例如System的Math類就是典型) 在VB NET中 沒(méi)有 靜態(tài)類 的概念(當(dāng)然你可以用 單例模式 把構(gòu)造函數(shù)弄成Private的方式 其它方法都是靜態(tài)的)如果某些方法需要被其它地方頻繁使用 可以創(chuàng)建 模塊 在VB NET中一旦創(chuàng)建了模塊 其中任何方法 屬性或者變量都可以被其它地方引用 因此適合全局情況下頻繁交互的情況(比如初始化加載的參數(shù) 可能后續(xù)程序要使用)等
現(xiàn)在問(wèn)題在于 如果你把一個(gè)類似以下的模塊代碼封裝成DLL類庫(kù) 無(wú)論在C#或者是VB NET中都無(wú)法引用到其方法
Module A
Public Sub Test()
End Sub
End Module
或許你感到很奇怪——不是在VB NET中這樣定義一個(gè)Module就直接可以使用其內(nèi)部方法了么?為什么封裝成類庫(kù)就不可以了呢?上網(wǎng)問(wèn)了一些人 眾說(shuō)紛紜 后來(lái)我在他人協(xié)助下終于成功解決了這個(gè)問(wèn)題——解決方法很簡(jiǎn)單——只要在Module前加Public
理由是 為了兼容C# VB NET由Module封裝成類庫(kù)中這個(gè)模塊不再是 模塊 而是一個(gè)標(biāo)準(zhǔn)的類了 如果這樣寫 那么在 NET中被理解成(C#)
internal A
{
public void Test()
{
}
}
整個(gè)模塊變成Internal的了!當(dāng)然你到其它程序集中去引用就引用不到!而把類庫(kù)中的Module的修飾符改為Public就可以了 這就是MSDN那位友人給我最好的提示
雖然這個(gè)提示不是令我太滿意(因?yàn)橐繴B NET中可以直接不通過(guò) 類名 方式直接使用方法名) 但是這給了我很大的暗示 得出重要的結(jié)論
)VB NET中Module在制作成類庫(kù)時(shí)候等同于VB NET中的類的規(guī)則(里邊的方法都是靜態(tài)的) 默認(rèn)情況下是Friend(C#是internal)
)根據(jù)結(jié)論 那么我們知道引用該DLL類庫(kù)的方法一定是 i)引用命名空間? ii)C#中直接 類名 方法名 對(duì)于VB NET 直接可以引用到方法名
lishixinzhi/Article/program/net/201311/12502
當(dāng)前名稱:關(guān)于vb.net修飾符的信息
文章鏈接:http://jinyejixie.com/article38/dochisp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、靜態(tài)網(wǎng)站、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容