Main Content

Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Llame a métodos genéricos de .NET

A declara uno o más tipos parametrizados.método genérico Para obtener más información, busque el término en la biblioteca de clases de .NET Framework, como se describe en.genericsPara obtener más información sobre .NET Framework

Utilice la función para llamar a un método genérico.NET.invokeGenericMethod El modo en que se usa depende si el método es estático o si es miembro de una clase genérica.NET.invokeGenericMethod

Mediante el ejemploNetDocGeneric

El ejemplo de C#, en elNetDocGeneric.cs matlabrootcarpeta, define métodos genéricos simples para ilustrar la sintaxis./extern/examples/NET/NetSampleNET.invokeGenericMethod Para ver el código, en editor.abrir el archivoMATLAB® Compile el ensamblado como se describe en.NetDocGenericCree una aplicación .NET para ejemplosMATLAB

Si creó el ensamblado y lo puso en la carpeta, escriba los siguientes comandos para cargar el ensamblado:NetDocGenericc:\workMATLAB

dllPath = fullfile('c:','work','NetDocGeneric.dll'); NET.addAssembly(dllPath); 

Nota

Las funciones y no enumerar los métodos genéricos.methodsmethodsview Utilice el ejemplo.Mostrar métodos genéricos de .NET mediante Reflection

Invocar la función miembro de clase genérica

El método en devuelve el argumento de entrada como tipo.GenMethodNetDocGeneric.SampleClassK Para llamar, cree un objeto:GenMethodcls

cls = NetDocGeneric.SampleClass(); 

Para convertir a un tipo de parámetro entero, como, por ejemplo, llamar con el objeto:5System.Int32NET.invokeGenericMethod

ret = NET.invokeGenericMethod(cls,...     'GenMethod',...     {'System.Int32'},...     5);

El método tiene parámetros con tipo parametrizado y, y un argumento fuertemente tipado, de tipo.GenMethodWithMixedArgsarg1arg2tfbool El indicador controla qué argumento devuelve.tfGenMethodWithMixedArgs Para volver, utilice la sintaxis:arg1

ret = NET.invokeGenericMethod(cls,'GenMethodWithMixedArgs',...     {'System.Double'},5,6,true); 

Para volver, utilice la sintaxis:arg2

ret = NET.invokeGenericMethod(cls,'GenMethodWithMixedArgs',...     {'System.Double'},5,6,false);

Invocar funciones genéricas estáticas

Para invocar el método estático, llame con el nombre de la clase completa:GenStaticMethodNET.invokeGenericMethod

ret = NET.invokeGenericMethod('NetDocGeneric.SampleClass',...     'GenStaticMethod',...     {'System.Int32'},...     5);

Invocar funciones genéricas estáticas de una clase genérica

Si una función estática es un miembro de una clase genérica, cree una definición de clase utilizando el constructor:NET.GenericClass

genClsDef = NET.GenericClass('NetDocGeneric.SampleGenericClass',...     'System.Double'); 

Para invocar el método estático de, llame con la definición de clase:GenStaticMethodSampleGenericClassNET.invokeGenericMethod

ret = NET.invokeGenericMethod(genClsDef,...     'GenStaticMethod',...     {'System.Int32'},...     5);

Invocar funciones genéricas de una clase genérica

Si un método genérico utiliza el mismo tipo parametrizado que la clase genérica, puede llamar a la función directamente en el objeto de clase. Si el genérico utiliza un tipo diferente al de la clase, utilice la función.NET.invokeGenericMethod

Temas relacionados