Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 17689|Svar: 4

[Nyt nummer] C# winform opkald js issue

[Kopier link]
Opslået på 18/02/2020 10.30.34 | | |
Et C#-kald til JS-skema fundet på internettet  
   offentlig streng GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID("ScriptControl");
            hvis (obj == null) returnerer null;
            object ScriptControl = Activator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            streng js = "funktion time(a, b, msg){ var sum = a + b; returner ny Date().getTime() + ': ' + msg + ' = ' + sum }";
            Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
            Returner Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


Testen er fin.
tid(1, 2, '1 + 2'), hvor parametrene, der sendes ind, er (nummer 1, nummer 2, streng 1+2).
Men der er et spørgsmål, new object[] { "time(1, 2, '1 + 2')" }, hvis argumentet i JS-metoden er af typen byte[], hvordan skal det så skrives, når man kalder?





Tidligere:SQLyog-12.0.9-0 med registreringskode
Næste:Gennemgang af ressourceupload
Opslået på 18/02/2020 10.56.17 |
JavaScript-datatyper kan opdeles i to kategorier:

primitiv type: f.eks. udefineret, null, boolesk, tal, streng
Referencetypeværdi, det vil sige objekttype: Objekttype, såsom Objekt, Array, Funktion, Dato



Argumenterne for JS-metoder har ikke byte[], alt er objekt
Brug Jurassic til at udføre js-funktioner under .net
https://www.itsvse.com/thread-4303-1-1.html
(Kilde: Architect_Programmer)


 Udlejer| Opslået på 18/02/2020 14.10.18 |
Xiao Zhazha Opslået den 2020-2-18 10:56
JavaScript-datatyper kan opdeles i to kategorier:

primitiv type : såsom udefineret, null, boolesk, numb ...

Ao er sådan herJeg ved ikke meget om JS.
Hvis
Antag, at tidsfunktionsparameteren for js er et array
function time(Array ){....................}

Følg den sidste sætning i denne C#-funktion
Returner Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Jeg vil gerne passere et Array   
var mycars = nyt array();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Hvis du kun kalder JS på denne C#-kodeimplementering, er du ligeglad med andre kodemetoder. Det er i denne C#-kode??? Hvordan bør parametrene skrives?
Opslået på 18/02/2020 14.17.06 |
zncliving Opslået den 18-2-2020 kl. 14:10
Ao: Det er rigtigt, jeg ved ikke meget om JS.
Hvis
Antag, at tidsfunktionsparameteren for js er et array

Nå, jeg kan kun give dig idéer, ikke hjælpe dig med at skrive kode

Du skal stadig selv undersøge koden
 Udlejer| Opslået på 18/02/2020 14.35.32 |
Xiao Zhazha Opslået den 2020-2-18 kl. 14:17
Nå, jeg kan kun give dig idéer, ikke hjælpe dig med at skrive kode

Du skal stadig selv undersøge koden

Okay, jeg leder efter information
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com