Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 17689|Risposta: 4

[Nuovo numero] Problema con la chiamata js di C# winform

[Copiato link]
Pubblicato su 18/02/2020 10:30:34 | | |
Uno schema chiamata a JS in C# trovato su Internet  
   stringa pubblica GetTimeByJs()
        {
            Tipo obj = Tipo.GetTypeFromProgID("ScriptControl");
            se (obj == null) restituisca null;
            oggetto ScriptControl = Attivator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            stringa js = "funzione tempo(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + somma }";
            Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
            Ritorna obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


Il test va bene.
tempo (1, 2, '1 + 2'), dove i parametri passati sono (numero 1, numero 2, stringa 1+2).
Ma c'è una domanda, new object[] { "time(1, 2, '1 + 2')" }, se l'argomento del metodo JS è di tipo byte[], come dovrebbe essere scritto quando si chiama?





Precedente:SQLyog-12.0.9-0 con codice di registrazione
Prossimo:Revisione del caricamento delle risorse
Pubblicato su 18/02/2020 10:56:17 |
I tipi di dati JavaScript possono essere suddivisi in due categorie:

tipo primitivo: ad esempio Indefinito, Nullo, Booleano, Numero, Stringa
Valore del tipo di riferimento, cioè tipo oggetto: tipo oggetto, come Oggetto, Array, Funzione, Data



Gli argomenti dei metodi JS non hanno byte[], tutto è oggetto
Utilizza Jurassic per eseguire funzioni js sotto .net
https://www.itsvse.com/thread-4303-1-1.html
(Fonte: Architect_Programmer)


 Padrone di casa| Pubblicato su 18/02/2020 14:10:18 |
Xiao Zhazha Pubblicato il 18-02-2020 alle 22:56
I tipi di dati JavaScript possono essere suddivisi in due categorie:

tipo primitivo: come Indefinito, Nullo, Booleano, Insensibile ...

Ao è cosìNon so molto di JS.
Se
Supponiamo che il parametro della funzione temporale di js sia un array
funzione tempo(Array ){....................}

Segui l'ultima frase di questa funzione C#
Ritorna obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Voglio superare un Array   
var mycars = nuovo Array();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Se chiami solo JS in questa implementazione di codice C#, non ti interessano altri metodi di codice. È in questo codice C#??? Come dovrebbero essere scritti i parametri?
Pubblicato su 18/02/2020 14:17:06 |
zncliving Pubblicato il 18-2-2020 alle 14:10
Ao: Esatto, non so molto di JS.
Se
Supponiamo che il parametro della funzione temporale di js sia un array

Beh, posso solo darti idee, non aiutarti a scrivere codice

Devi comunque ricercare il codice da solo
 Padrone di casa| Pubblicato su 18/02/2020 14:35:32 |
Xiao Zhazha Pubblicato il 18-2-2020 14:17
Beh, posso solo darti idee, non aiutarti a scrivere codice

Devi comunque ricercare il codice da solo

Ok, sto cercando informazioni
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com