Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 17689|Svar: 4

[Nytt nummer] C# winform call js problem

[Kopiera länk]
Publicerad på 2020-02-18 10:30:34 | | |
Ett C#-anrop till JS-schema som finns på Internet  
   publik sträng GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID("ScriptControl");
            om (obj == null) returnerar null;
            object ScriptControl = Activator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            sträng js = "funktion tid(a, b, msg){ var sum = a + b; returnera ny Date().getTime() + ': ' + msg + ' = ' + sum }";
            Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
            Lämna tillbaka Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


Testet är bra.
tid(1, 2, '1 + 2'), där parametrarna som skickas in är (nummer 1, nummer 2, sträng 1+2).
Men det finns en fråga, nytt objekt[] { "time(1, 2, '1 + 2')" }, om argumentet i JS-metoden är av typen byte[], hur ska det skrivas när man anropar?





Föregående:SQLyog-12.0.9-0 med registreringskod
Nästa:Resursuppladdningsrecension
Publicerad på 2020-02-18 10:56:17 |
JavaScript-datatyper kan delas in i två kategorier:

primitiv typ: t.ex. odefinierad, null, boolesk, nummer, sträng
Referenstypvärde, det vill säga objekttyp: Objekttyp, såsom Objekt, Array, Funktion, Datum



Argumenten i JS-metoder har inte byte[], allt är objekt
Använd Jurassic för att köra js-funktioner under .net
https://www.itsvse.com/thread-4303-1-1.html
(Källa: Architect_Programmer)


 Hyresvärd| Publicerad på 2020-02-18 14:10:18 |
Xiao Zhazha Publicerad den 2020-2-18 10:56
JavaScript-datatyper kan delas in i två kategorier:

primitiv typ : såsom Odefinierad, Null, Boolesk, Numb ...

Ao är så härJag vet inte så mycket om JS.
Om
Antag att tidsfunktionsparametern för js är en array
function time(Array ){....................}

Följ den sista meningen i denna C#-funktion
Lämna tillbaka Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Jag vill passera en Array   
var mycars = ny matris();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Om du bara anropar JS på denna C#-kodimplementation bryr du dig inte om andra kodmetoder. Det är i den här C#-koden??? Hur bör parametrarna skrivas?
Publicerad på 2020-02-18 14:17:06 |
zncliving Publicerad den 2020-2-18 14:10
Ao: Precis, jag vet inte så mycket om JS.
Om
Antag att tidsfunktionsparametern för js är en array

Jag kan bara ge dig idéer, inte hjälpa dig att skriva kod

Du måste fortfarande undersöka koden själv
 Hyresvärd| Publicerad på 2020-02-18 14:35:32 |
Xiao Zhazha Publicerad den 2020-2-18 14:17
Jag kan bara ge dig idéer, inte hjälpa dig att skriva kod

Du måste fortfarande undersöka koden själv

Okej, jag letar efter information
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com