Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

単純な .NET クラスへのアクセス

System.DateTime の例

この例は、システムに既に読み込まれている機能にアクセスする方法を示しています。この例に続くトピックでは、MATLAB® で .NET を使用するときに役立つ、主要な手順と考え方を紹介します。

Microsoft® .NET Framework クラス ライブラリには、MATLAB で使用できる System.DateTime などのクラスが含まれています。以下のコードはオブジェクトを作成し、DateTime プロパティおよびメソッドを使用して、現在の日付と時刻に関する情報を表示します。

% Create object for current date and time
netDate = System.DateTime.Now;

% Display properties
netDate.DayOfWeek
netDate.Hour

% Call methods
ToShortTimeString(netDate)
AddDays(netDate,7);

% Call static method
System.DateTime.DaysInMonth(netDate.Year,netDate.Month)

以下のトピックでは、オブジェクトに関する情報の作成と表示および .NET データ型の概要の詳細を説明します。

.NET Framework クラス ライブラリの詳細については、.NET Framework の詳細で説明されているサードパーティのドキュメンテーションを参照してください。

コンストラクターからの .NET オブジェクトの作成

前節の例では Now プロパティを使用して DateTime オブジェクトを作成しました。この例では、いずれかの DateTime "コンストラクター" を使用してオブジェクトを作成する方法を示します。

myDate = System.DateTime(2000,1,31);

このコンストラクター、つまり任意のメソッドを呼び出すには、その引数リスト、つまり "関数のシグネチャ" を知らなければなりません。ベンダーの製品ドキュメンテーションには関数のシグネチャが記載されています。MATLAB 関数 methodsview を使用してシグネチャを表示することもできます。methodsview('System.DateTime') と入力し、次の表に示すような DateTime エントリのリストを検索します。

名前戻り値の型引数
DateTimeSystem.DateTime obj

(int32 scalar year,...)

.NET Class Framework ドキュメンテーションによると、以下のシグネチャは DateTime 構造体の新しいインスタンスを指定した年、月、日に初期化します。この情報は myDate 変数に必要です。

名前戻り値の型引数
DateTimeSystem.DateTime obj(int32 scalar year,
int32 scalar month,
int32 scalar day)

詳細は、メソッド シグネチャの読み取りを参照してください。

.NET オブジェクトの情報の表示

ベンダーのドキュメンテーションには DateTime オブジェクトに関する情報が記載されていますが、propertiesmethods などの MATLAB コマンドを使用して .NET オブジェクトの情報を表示できます。以下に例を示します。

% Display an object
netDate = System.DateTime.Now
% Display its properties
properties System.DateTime
% Display its methods
methods System.DateTime

MATLAB に次の情報が表示されます (プロパティ値は特定の日時を反映します)。

 DateTime オブジェクトの表示

 DateTime プロパティの表示

 DateTime メソッドの表示

詳細は、次の参考文献を参照してください。

.NET データ型の紹介

MATLAB で .NET オブジェクトを使用するには、MATLAB での .NET データ型の処理方法を理解しなければなりません。たとえば、以下の DateTime プロパティおよびメソッドにより、さまざまな .NET データ型の変数が作成されます。

netDate = System.DateTime.Now;
thisDay = netDate.DayOfWeek;
thisHour = netDate.Hour;
thisDate = ToLongDateString(netDate);
thisTime = ToShortTimeString(netDate);
monthSz = System.DateTime.DaysInMonth(netDate.Year,netDate.Month);
whos
Name           Size  Bytes  Class

netDate        1x1     112  System.DateTime
monthSz        1x1       4  int32
thisDate       1x1     112  System.String
thisDay        1x1     104  System.DayOfWeek
thisHour       1x1       4  int32
thisTime       1x1     112  System.String

MATLAB では、型がクラス名として表示されます。

これらの変数を MATLAB で使用するには、以下の内容を検討します。

  • 数値 (int32) — MATLAB は .NET 数値型を等価な MATLAB 型にマッピングして保持します。以下の例では、hint32 型です。

    h = thisHour + 1;
    

    詳細は.NET 型の MATLAB 型へのマッピング数値型を参照してください。

  • 文字列 (System.String) — 関数 char を使用して、System.String オブジェクトを MATLAB char 配列に変換します。

    disp(['The time is ' char(thisTime)])
    
  • オブジェクト (System.DateTime) — DateTime オブジェクトの使用法については、.NET Framework クラス ライブラリのドキュメンテーションを参照してください。

  • 列挙型 (System.DayOfWeek) — DateTime のドキュメンテーションによると、DayOfWeek は列挙型です。列挙メンバーを表示するには、以下を入力します。

    enumeration(thisDay)

    詳細は、MATLAB での .NET 列挙型を参照してください。

サポートされている型とマッピングの一覧については、.NET オブジェクトから返されるデータの処理を参照してください。

関連するトピック