匯入的程式庫轉換
更新:2007 年 11 月
當匯入處理序轉換型別程式庫時,它會將程式庫內定義的型別自動置於與型別程式庫名稱相同的命名空間中。舉例來講,如果您對下列型別程式庫執行 Tlbimp.exe,這個公用程式會將 AcmeLib 型別程式庫內定義的所有型別匯入 AcmeLib 命名空間。
型別程式庫表示
library AcmeLib {
interface Widget {};
coclass Slingshot {};
};
轉換之後,您就可以使用 AcmeLib.Slingshot 從 Managed 應用程式呼叫 Slingshot 類別。
Namespace AcmeLib
Interface Widget
End Interface
Class Slingshot
End Class
End Namespace
namespace AcmeLib {
interface Widget {};
class Slingshot {};
};
您可以使用型別程式庫屬性來明確地控制型別程式庫匯入處理序的命名空間。由於型別程式庫名稱不能包含句號,因此,這是唯一可以用來將型別匯入以句號分隔之命名空間的技巧。這個屬性識別項為 0F21F359-AB84-41e8-9A78-36D110E6D2F9。以下型別程式庫表示展示了使用者定義屬性的加入。
型別程式庫表示
[
uuid(…),
version(1.0),
custom(0F21F359-AB84-41e8-9A78-36D110E6D2F9, "Acme.WidgetLib")
]
library AcmeLib {
interface Widget {};
coclass Slingshot {};
};
您可以用使用者定義屬性,強制 Tlbimp.exe 將 AcmeLib 型別程式庫匯入 Acme.WidgetLib 命名空間。Slingshot 類別會成為 Managed 程式碼中的 Acme.WidgetLib.Slingshot。