exponenta event banner

Создание экземпляров делегата, привязанных к методам .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');

Связанные темы