.NET オブジェクトの使用
.NET オブジェクトの作成
.NET クラスを取り扱う際、オブジェクトを作成することがしばしばあります。"オブジェクト" は特定のクラスのインスタンスです。メソッドは、あるクラスのオブジェクトにおいてのみ動作する関数です。データ型は、オブジェクトおよびメソッドを一緒にパッケージ化し、メソッドがその所有する型のオブジェクトで動作するようにします。MATLAB® におけるオブジェクトの使用の詳細については、ユーザー定義クラスを参照してください。
クラスと同じ名前のクラス コンストラクターを呼び出して、MATLAB ワークスペースで .NET オブジェクトを作成します。.NET オブジェクト classObj
を作成する構文は以下のとおりです。
classObj = namespace.ClassName(varargin)
ここで、varargin
は、特定の namespace
にある ClassName
によって指定されるクラスのインスタンスを作成するコンストラクター引数のリストです。例については、コンストラクターからの .NET オブジェクトの作成を参照してください。
メソッド methodName
を呼び出すには、以下の手順に従います。
returnedValue = methodName(classObj,args,...)
.NET アセンブリにあるクラス
アセンブリの製品ドキュメンテーションには、クラスについての情報が含まれています。ただし、アセンブリについての基本情報の読み取りには NET.addAssembly
コマンドを使用できます。
たとえば、mscorlib
ライブラリのクラス名を表示するには、以下を入力します。
asm = NET.addAssembly('mscorlib');
asm.Classes
このアセンブリには多数のエントリがあります。Microsoft® Developer Network で System
名前空間リファレンス ページのオンライン ドキュメントへのウィンドウを開くことができます。このドキュメンテーションの使用方法の詳細は、.NET に関する詳細を参照してください。
.NET オブジェクトでの関数 delete
の使用
.NET クラスから作成されたオブジェクトは、参照型またはハンドル オブジェクトとして MATLAB に表示されます。関数 delete
を .NET ハンドルで呼び出すと、MATLAB からの .NET オブジェクトへのすべての参照が解放されますが、.NET 終了化子は呼び出されません。.NET ランタイムは、ガーベジ コレクションを管理します。
MATLAB におけるハンドル オブジェクトの管理の詳細については、ハンドル クラスのデストラクターを参照してください。