Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

.NET メソッドにバインドされたデリゲート インスタンスの作成

以下のように定義された C# デリゲートの場合、

namespace MyNamespace
{
  public delegate void MyDelegate();
}

MATLAB® は以下のコンストラクター シグネチャを作成します。

戻り値の型名前引数
MyNamespace.MyDelegate objMyDelegate(target,
string methodName)

引数 target は、以下のいずれかです。

  • インスタンス メソッドへのバインド時の呼び出し対象オブジェクトのインスタンス

  • 静的メソッドへのバインド時の .NET 完全修飾クラス名をもつ文字列

methodName はコールバック メソッド名を指定する文字列です。

例 — .NET オブジェクト インスタンス メソッドに関連付けられたデリゲート インスタンスの作成

次の C# デリゲートおよびクラス定義の場合、

namespace MyNamespace
{
  public delegate void MyDelegate();

  public class MyClass
  {
    public void MyMethod(){}
  }
}

MATLAB でデリゲートをインスタンス化するには、以下を入力します。

target = MyNamespace.MyClass();
delegate = MyNamespace.MyDelegate(target,'MyMethod');

例 — 静的 .NET メソッドに関連付けられたデリゲート インスタンスの作成

次の C# デリゲートおよびクラス定義の場合、

namespace MyNamespace
{
  public delegate void MyDelegate();

  public class MyClass
  {
    public static void MyStaticMethod(){}
  }
}

MATLAB でデリゲートをインスタンス化するには、以下を入力します。

delegate = MyNamespace.MyDelegate('MyNamespace.MyClass','MyStaticMethod');

関連するトピック