Importar funciones de bibliotecas.NET

MQL5 ofrece un servicio especial para trabajar con funciones de bibliotecas.NET: puede simplemente importar la propia DLL sin especificar determinadas funciones. MetaEditor importa automáticamente todas las funciones con las que se puede trabajar:

  • Plain Old Data (POD) - estructuras que sólo contienen tipos de datos simples;
  • Funciones estáticas públicas cuyos parámetros sólo utilizan tipos y estructuras POD simples o sus arrays.

Lamentablemente, por el momento no es posible ver los prototipos de función tal y como los reconoce MetaEditor.

Por ejemplo, tenemos el siguiente código C# de la función Inc de la clase TestClass en la biblioteca TestLib.dll:

public class TestClass

   public static void Inc(ref int x)
   {
      x++;
   }
}

Luego, para importarlo y llamarlo, basta con escribir:

#import "TestLib.dll"
   
void OnStart()
{
   int x = 1;
   TestClass::Inc(x);
   Print(x);
}

Tras la ejecución, el script devolverá el valor 2.