VisualBasicCOM基礎(chǔ)之更多屬性

字號(hào):

有時(shí)候,為了更好地處理類(lèi)往往需更多的屬性。例如,假如你有四種不同的客戶群:集團(tuán)、較大、較小和新的客戶類(lèi)型,或者一個(gè)用于搜索的類(lèi)中有三種不同的搜索方式:軟盤(pán)、硬盤(pán)和網(wǎng)絡(luò)。那么,能不能從選項(xiàng)列表中選擇一個(gè),而不是用不能理解的數(shù)字或文本來(lái)設(shè)置相關(guān)屬性?
     我想,答案是肯定的。因?yàn)檫@種處理就稱為"枚舉"。
     打開(kāi)上一節(jié)的工程,讓我們添加一些代碼。
     在CDog類(lèi)中添加下列代碼:
    Public Enum CoatType
     BigAndShaggy = 1
     ShortCrewCut = 2
     PoodleStyleAfro = 3
     Unknown = 4
     end Enum
     關(guān)鍵詞"Enum"就是用來(lái)定義枚舉的,換句話說(shuō),它是可能選項(xiàng)的列表。各選項(xiàng)都有相應(yīng)的數(shù)字,也就是說(shuō)BigAndShaggy表示1,ShortCrewCut等于2,等等。
     需要注意的是,當(dāng)將枚舉項(xiàng)相關(guān)信息添加在數(shù)據(jù)庫(kù)中時(shí),其相應(yīng)的數(shù)值是非常有用的。由于"BigAndShaggy"實(shí)際代表的是數(shù)值1,所以可以直接將其插入到數(shù)據(jù)庫(kù)的數(shù)值字段中。這就意味著,可以方便使用字符串來(lái)維護(hù)數(shù)據(jù)庫(kù)。
     所以,我們來(lái)創(chuàng)建一個(gè)Dog的Coat類(lèi)型列表,并另外定義一個(gè)屬性,將這些類(lèi)型添加在CDog類(lèi)中。
     在類(lèi)中聲明下列變量:
     Private udtCoat As CoatType
     這個(gè)定義的私有變量用來(lái)保存即將添加的Coat類(lèi)型屬性,注意到udtCoat變量既不是字符串也不是整型,而是我們自己定義的枚舉類(lèi)型CoatType。
     當(dāng)類(lèi)CDog打開(kāi)時(shí),選擇"Tools"菜單中的"Add Procedure"命令,彈出相應(yīng)的對(duì)話框;
     Name編輯框中鍵入Coat;
     選中"Property"選項(xiàng)按鈕,然后單擊[OK]。
     系統(tǒng)自動(dòng)產(chǎn)生下列代碼框架:
    Public Property Get Coat() As Variant
     End Property
     Public Property Let Coat(ByVal vNewValue As Variant)
     End Property