Создание экземпляров делегата, связанных к методам.NET

Для делегата C#, заданного как:

namespace MyNamespace
{
  public delegate void MyDelegate();
}

MATLAB® создает следующую подпись конструктора.

Возвратите типИмяАргументы
MyNamespace.MyDelegate objMyDelegate(цель,
представьте 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');

Похожие темы