インポート時のライブラリの変換
タイプ ライブラリを変換するとき、インポート プロセスは、ライブラリ内に定義されている型をタイプ ライブラリと同じ名前の名前空間に自動的に配置します。たとえば、次のタイプ ライブラリに対して Tlbimp.exe を実行すると、TLbimp.exe ユーティリティは、AcmeLib タイプ ライブラリに定義されているすべての型を AcmeLib 名前空間にインポートします。
タイプ ライブラリ表現
library AcmeLib {
interface Widget {};
coclass Slingshot {};
};
変換後に、AcmeLib.Slingshot
を使用して、マネージ アプリケーションから Slingshot
クラスを呼び出すことができます。
Namespace AcmeLib
Interface Widget
End Interface
Class Slingshot
End Class
End Namespace
namespace AcmeLib {
interface Widget {};
class Slingshot {};
};
タイプ ライブラリ属性を使用することにより、タイプ ライブラリ インポート プロセスで使用される名前空間を明示的に制御できます。タイプ ライブラリ名にはピリオド (.) を含めることはできないので、ピリオドで区切られた名前空間に型をインポートするには、タイプ ライブラリ属性を使用する以外に方法はありません。この属性の ID は、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
クラスは、マネージ コードでは Acme.WidgetLib.Slingshot
になります。
参照
概念
インポート時のモジュールの変換
インポート時の型の変換
インポート メンバの変換
インポート パラメータの変換