您可以在模型中定義 CORBA 聯集並將它們產生在 .idl 檔中。
程序
若要定義 CORBA 聯集,請執行下列動作:
- 將新類型新增至具有 CORBAModule 模板的套件或具有 CORBAInterface 模板的類別。
- 為您所建立的類型開啟「特性」視窗,並將「類型」欄位設定為「聯集」。
- 於所建立類型,將 CORBA::Type::Discriminator
內容的值設定為您要使用的鑑別器類型,例如,short。
- 將屬性新增至該類型,表示聯集中的每個資料類型,例如,名稱如下的屬性:length_short、length_long 及
length_double。
- 對於每個屬性,相應地設定屬性類型,例如:為 length_short 設定 short,為
length_long 設定 long,為 length_double 設定 double。
- 對於每個屬性,開啟「特性」視窗,並設定 CORBA::Attribute::UnionCase 內容的值。該內容的值應該是要用於該屬性的鑑別器值。這些值應該反映您為
CORBA::Type::Discriminator 內容指定的類型。請注意,對於您要使用作為聯集預設資料類型的資料類型,還可以將
UnionCase 內容設定為字串 default。例如,依如下所示設定
UnionCase 內容的值:對於 length_short 屬性設定為 1,對於
length_long 屬性設定為 2,對於 length_double 屬性設定為 default。
範例
如果您使用在各步驟中提到的範例值,則產生的程式碼將類似如下:
union length switch (short) {
case 1 : short length_short; //## attribute length_short
case 2 : long length_long; //## attribute length_long
default : double length_double; //## attribute length_double
};