次の方法で共有


Visual Basic のオブジェクトとその他のオブジェクト

更新 : 2007 年 11 月

Visual Basic で使うオブジェクトには、内部オブジェクトと外部オブジェクトがあります。たとえば、組み込みオブジェクトやプロジェクト内のクラスは内部オブジェクトであり、アセンブリや COM オブジェクトは外部オブジェクトです。

内部オブジェクト

組み込み (内蔵) オブジェクトとは、Visual Basic に初めから用意されているオブジェクトです。たとえば、整数型 (Integer) や倍精度浮動小数点数型 (Double) などのプリミティブなスカラ型や、配列型 (Array) や文字列型 (String) がこれに当たります。内部オブジェクトをプロジェクトで使う場合には、事前に参照を作成する必要はありません。

このほか、現在のプロジェクトのクラスのインスタンスも内部オブジェクトです。このようなクラスは、必要に応じてプロジェクト内のどこででも使用できます。また、アセンブリを作成する時に、ほかのアプリケーションから使用できるようにすることもできます。

外部オブジェクト

外部オブジェクトとは、既定の状態ではプロジェクトで使用できないほかのプロジェクトやアセンブリのオブジェクトです。外部オブジェクトをプロジェクトで使用するには、事前にプロジェクト参照を作成する必要があります。

アセンブリは、Visual Basic アプリケーションのオブジェクトの最も一般的なソースです。.NET Framework には、よく使用されるオブジェクトを含むアセンブリが含まれています。.NET Framework のオブジェクトの中には、組み込みオブジェクトとして扱われるものもありますが、ほとんどのアセンブリは、Imports ステートメントを使って明示的にインポートしないと使用できません。アセンブリは、Visual Basic や Visual C# など、共通言語仕様 (CLS: Common Language Specification) に準拠しているすべての言語で作成および使用できます。詳細については、「アセンブリ」を参照してください。

従来の Visual Basic プログラミングでは、オブジェクトのソースとして COM コンポーネントを使うのが一般的でしたが、現在では、新しいオブジェクトに対しては .NET Framework アセンブリを使うことをお勧めします。既存の COM コンポーネントをアプリケーションで使うこともできますが、COM オブジェクトにアクセスするには .NET Framework 相互運用性クラスを使う必要があります。COM ライブラリにアクセスするには、COM ライブラリ内で定義されている各 COM クラスの相互運用性クラスを含む相互運用性アセンブリを使う必要があります。詳細については、「COM 相互運用」を参照してください。

ネイティブな .NET Framework クラスおよび COM クラスにアクセスできるのに加え、たとえば Win32 API の関数のような、ダイナミック リンク ライブラリ (DLL: dynamic-link library) で定義されている関数を呼び出すこともできます。Visual Basic では、Declare ステートメントで宣言しておいた、DLL の中の関数を呼び出すことができます。また、Visual Basic では、DllImportAttribute 属性を使用して、CallingConventionExactSpelling、および SetLastError などに対して既定値を指定できるように、Declare ステートメンの機能が拡張されています。Declare ステートメントのパラメータには、MarshalAsAttribute 属性で注釈を付けることができます。この属性は、以前のバージョンの Visual Basic では不可能だった方法によるパラメータの変換をサポートします。

参照

処理手順

チュートリアル : COM オブジェクトによる継承の実装

方法 : プロパティを設定および取得する

概念

オブジェクト間の関係

参照

Declare ステートメント

Imports ステートメント (.NET 名前空間および型)

DllImportAttribute

整数型 (Integer) (Visual Basic)

倍精度浮動小数点数型 (Double) (Visual Basic)

文字列型 (String) (Visual Basic)

MarshalAsAttribute

その他の技術情報

オブジェクトの作成と使用