類,是面向?qū)ο笏枷氲囊粋€(gè)產(chǎn)物。它的用途,就在于把事物高度抽象。比如說游戲中的玩家,你可以定義一個(gè)玩家類,這個(gè)類,有自己的屬性和方法,玩家的生命值,等級(jí),金錢,等等等等,它可以有自己的方法,比如,可以跳躍,可以死亡。類,本身并不能存在于內(nèi)存之中,這就解釋了對象的問題。類,實(shí)例化以后,對象誕生,真實(shí)的存在于內(nèi)存之中。你把一個(gè)玩家類實(shí)例化100次,誕生100個(gè)玩家在游戲中。這個(gè)關(guān)系,你可以簡單的這么理解。
創(chuàng)新互聯(lián)主營義馬網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),義馬h5小程序制作搭建,義馬網(wǎng)站營銷推廣歡迎義馬等地區(qū)企業(yè)咨詢
人類是一個(gè)類,你是人,我是人,都是人類的實(shí)例(instance),或稱對象(object)。一個(gè)類描述一類事物,描述這些事物所應(yīng)具有的屬性,如人有身長、體重、文化程度、性別、年齡、民族等。
一個(gè)對象是類的一個(gè)實(shí)例,它具有確定的屬性,如張三(人的實(shí)例)身高180,體重70公斤,大學(xué)本科,男,21歲,漢族。
人類只有一個(gè),人類的實(shí)例可以有無數(shù)個(gè)。
對象可以被創(chuàng)建和銷毀,但類是無所不在的。
例如,桌子是一個(gè)類, 人們不斷打造各種尺寸和風(fēng)格(屬性)的桌子(桌子的實(shí)例),打造桌子, 又不斷毀壞桌子,年復(fù)一年,舊的去了,新的又來,但桌子的概念沒變,它是一個(gè)抽象的概念。應(yīng)該稱它為桌子類,以區(qū)別于打造的具體桌子。
public Color col(string colorName)
{
Type colorType = typeof(Color);
PropertyInfo info = colorType.GetProperty(colorName, BindingFlags.Public | BindingFlags.Static);
if (infos == null)
{
//throw Exception
}
return(Color)info.GetValue(null, null);
}
是這個(gè)意思么?輸入“Red”, 返回Color.Red 區(qū)分大小寫
文件鏡像功能吧, 監(jiān)控文件的變化然后實(shí)時(shí)同步就行了 .. 好像是叫那個(gè)filewatcher類,可以做
本來可以用簡單的dos命令的,但是影射成功與否返回不理想,建議用API,見下面
Module?LocalNetConnect'模塊,直接復(fù)制即可
Public?Declare?Function?WNetAddConnection2?Lib?"mpr.dll"?Alias?"WNetAddConnection2A"?(ByRef?lpNetResource?As?NETRESOURCE,?ByVal?lpPassword?As?String,?ByVal?lpUserName?As?String,?ByVal?dwFlags?As?Integer)?As?Integer
Public?Declare?Function?WNetCancelConnection2?Lib?"mpr.dll"?Alias?"WNetCancelConnection2A"?(ByVal?lpName?As?String,?ByVal?dwFlags?As?Integer,?ByVal?fForce?As?Integer)?As?Integer
Public?Structure?NETRESOURCE
Dim?dwScope?As?Integer
Dim?dwType?As?Integer
Dim?dwDisplayType?As?Integer
Dim?dwUsage?As?Integer
Dim?lpLocalName?As?String
Dim?lpRemoteName?As?String
Dim?lpComment?As?String
Dim?lpProvider?As?String
End?Structure
Public?Function?netconnect(ByVal?localDrive?As?String,?ByVal?sharePath?As?String,?ByVal?userName?As?String,?ByVal?UserPassword?As?String)?As?Boolean
Dim?NetR?As?New?NETRESOURCE
Dim?ErrInfo?As?Integer
NetR.dwScope?=?2
NetR.dwType?=?1
NetR.dwDisplayType?=?3
NetR.dwUsage?=?1
'設(shè)置驅(qū)動(dòng)器
NetR.lpLocalName?=?localDrive
'設(shè)置遠(yuǎn)程端口名字
NetR.lpRemoteName?=?sharePath
'設(shè)置連接
ErrInfo?=?WNetAddConnection2(NetR,?UserPassword,?userName,?1)
If?ErrInfo?=?0?Then
Return?True
Else
Return?False
End?If
End?Function
Public?Function?netdisconnect(ByVal?localDrive?As?String)?As?Boolean
Dim?ErrInfo?As?Integer
ErrInfo?=?WNetCancelConnection2(localDrive,?1,?False)
If?ErrInfo?=?0?Then
Return?True
Else
Return?False
End?If
End?Function
End?Module
‘調(diào)用
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
'這里是映射調(diào)用,administrator為用戶名,根據(jù)實(shí)際用戶名
’如果將“Z:”設(shè)置為空就不會(huì)網(wǎng)絡(luò)盤映射但是已經(jīng)和172.26.120.47聯(lián)機(jī)了(返回真時(shí)成立)。
If?netconnect("Z:",?"\\172.26.120.47\c$",?"administrator",?"局域網(wǎng)電腦實(shí)際密碼")?=?True?Then
MsgBox("success")
Else
MsgBox("Faile")
End?If
End?Sub
Private?Sub?Button2_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button2.Click'這里是取消映射
If?netdisconnect("Z:")?=?True?Then
MsgBox("success")
Else
MsgBox("Faile")
End?If
End?Sub
可以實(shí)現(xiàn),類里面的字段或者方法加Shared
Public?Class?Form1
'下面實(shí)現(xiàn)靜態(tài)類
Public?Class?test
Shared?Sub?New()
End?Sub
Public?Shared?Sub?run()
MsgBox("測試run")
End?Sub
End?Class
'下面測試
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
'并沒有實(shí)例化一個(gè)類哦
test.run()
End?Sub
End?Class