重新命名匯入屬性
特定C++
解決名稱衝突問題。
語法
#import type-library rename(“OldName”, “NewName” )
參數
OldName
類型程式庫中的舊名稱。
NewName
用來取代舊名稱的名稱。
備註
指定 rename 屬性時,編譯程式會將 type-library 中所有出現的 OldName 取代為產生的頭文件中使用者提供的 NewName。
當類型庫中的名稱與系統頭檔中的巨集定義重合時,可以使用 rename 屬性。 如果未解決這種情況,編譯程式可能會發出各種語法錯誤,例如 編譯程序錯誤 C2059 和 編譯程序錯誤 C2061。
注意
取代適用於類型程式庫中使用的名稱,不適用於所產生標頭檔中使用的名稱。
例如,假設屬性名稱 MyParent
存在於類型程式庫中,而標頭檔中已定義巨集 GetMyParent
,且已在 #import
之前使用。 由於 GetMyParent
是錯誤處理 get
屬性之包裝函式的預設名稱,因此會發生名稱衝突。 若要解決此問題,請在 #import
陳述式中使用下列屬性:
#import MyTypeLib.tlb rename("MyParent","MyParentX")
其中會重新命名類型程式庫中的名稱 MyParent
。 嘗試重新命名 GetMyParent
包裝函式名稱將會失敗:
#import MyTypeLib.tlb rename("GetMyParent","GetMyParentX")
這是因為名稱 GetMyParent
只會發生在產生的類型連結庫頭檔中。
END C++ 特定