Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 17689|Respuesta: 4

[Nuevo número] Problema con la llamada js de C# winform

[Copiar enlace]
Publicado en 18/2/2020 10:30:34 | | |
Un esquema de llamada a JS en C# encontrado en Internet  
   cadena pública GetTimeByJs()
        {
            Tipo obj = Tipo.ObTypeFromProgID("ScriptControl");
            si (obj == null) return null;
            objeto ScriptControl = Activator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            cadena js = "función tiempo(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }";
            Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
            Regresar obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


La prueba está bien.
tiempo (1, 2, '1 + 2'), donde los parámetros pasados son (número 1, número 2, cadena 1+2).
Pero hay una pregunta, new object[] { "time(1, 2, '1 + 2')" }, si el argumento del método JS es de tipo byte[], ¿cómo debería escribirse al llamar?





Anterior:SQLyog-12.0.9-0 con código de registro
Próximo:Revisión de la subida de recursos
Publicado en 18/2/2020 10:56:17 |
Los tipos de datos de JavaScript pueden dividirse en dos categorías:

tipo primitivo: por ejemplo, Indefinido, Nulo, Booleano, Número, Cadena
Valor del tipo de referencia, es decir, tipo de objeto: tipo de objeto, como objeto, array, función, fecha



Los argumentos de los métodos JS no tienen byte[], todo es objeto
Utiliza Jurassic para ejecutar funciones js bajo .net
https://www.itsvse.com/thread-4303-1-1.html
(Fuente: Architect_Programmer)


 Propietario| Publicado en 18/2/2020 14:10:18 |
Xiao Zhazha Publicado el 2020-2-18 10:56
Los tipos de datos de JavaScript pueden dividirse en dos categorías:

tipo primitivo: como Indefinido, Nulo, Booleano, Insensible...

Ao es asíNo sé mucho sobre JS.
Si
Supongamos que el parámetro de la función de tiempo de js es un array
función tiempo(Array ){....................}

Sigue la última frase de esta función C#
Regresar obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Quiero aprobar un Array   
var mycars = nuevo Array();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Si solo llamas a JS en esta implementación de código C#, no te importan otros métodos de código. Eso está en este código C#??? ¿Cómo deberían escribirse los parámetros?
Publicado en 18/2/2020 14:17:06 |
zncliving Publicado el 18-2-2020 14:10
Ao: Exacto, no sé mucho sobre JS.
Si
Supongamos que el parámetro de la función de tiempo de js es un array

Bueno, solo puedo darte ideas, no ayudarte a escribir código

Aún tienes que investigar el código tú mismo
 Propietario| Publicado en 18/2/2020 14:35:32 |
Xiao Zhazha Publicado el 2020-2-18 14:17
Bueno, solo puedo darte ideas, no ayudarte a escribir código

Aún tienes que investigar el código tú mismo

Vale, busco información
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com