Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 17689|Antwoord: 4

[Nieuw Nummer] C# winform call js issue

[Link kopiëren]
Geplaatst op 18-02-2020 10:30:34 | | |
Een C#-aanroep-naar-JS-schema dat op internet te vinden is  
   publieke string GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID("ScriptControl");
            als (obj == null) nul teruggeeft;
            object ScriptControl = Activator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            string js = "functie time(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }";
            Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
            Geef het doel terug. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


De test is prima.
tijd(1, 2, '1 + 2'), waarbij de doorgegeven parameters zijn (nummer 1, nummer 2, reeks 1+2).
Maar er is een vraag, nieuw object[] { "time(1, 2, '1 + 2')" }, als het argument van de JS-methode van type byte[] is, hoe moet het dan worden geschreven bij het aanroepen?





Vorig:SQLyog-12.0.9-0 met registratiecode
Volgend:Recensie van het uploaden van bronnen
Geplaatst op 18-02-2020 10:56:17 |
JavaScript-datatypes kunnen worden onderverdeeld in twee categorieën:

primitief type: bijvoorbeeld Ongedefinieerd, Null, Booleaans, Getal, String
Referentietypewaarde, dat wil zeggen objecttype: Objecttype, zoals Object, Array, Functie, Datum



De argumenten van JS-methoden hebben geen byte[], alles is object
Gebruik Jurassic om js-functies uit te voeren onder .net
https://www.itsvse.com/thread-4303-1-1.html
(Bron: Architect_Programmer)


 Huisbaas| Geplaatst op 18-02-2020 14:10:18 |
Xiao Zhazha Geplaatst op 2020-28 10:56
JavaScript-datatypes kunnen worden onderverdeeld in twee categorieën:

primitief type : zoals Ongedefinieerd, Nul, Booleaans, Numb ...

Ao is zoIk weet niet veel van JS.
Als
Stel dat de tijdfunctieparameter van js een array is
function time(Array ){....................}

Volg de laatste zin van deze C#-functie
Geef het doel terug. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Ik wil een Array passeren   
var mycars = nieuwe Array();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Als je alleen JS aanroept bij deze C#-code-implementatie, maakt het je niet uit wat andere codemethoden zijn. Dat zit in deze C#-code??? Hoe moeten de parameters worden geschreven?
Geplaatst op 18-02-2020 14:17:06 |
zncliving Geplaatst op 18-2-2020 14:10
Ao: Dat klopt, ik weet niet veel van JS.
Als
Stel dat de tijdfunctieparameter van js een array is

Nou, ik kan je alleen maar ideeën geven, niet helpen met het schrijven van code

Je moet de code nog steeds zelf onderzoeken
 Huisbaas| Geplaatst op 18-02-2020 14:35:32 |
Xiao Zhazha Geplaatst op 18-2-2020 14:17
Nou, ik kan je alleen maar ideeën geven, niet helpen met het schrijven van code

Je moet de code nog steeds zelf onderzoeken

Oké, ik ben op zoek naar informatie
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com