Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 17689|Răspunde: 4

[Număr nou] C# winform call js problemă

[Copiază linkul]
Postat pe 18.02.2020 10:30:34 | | |
O schemă apel C# către JS găsită pe Internet  
   șirul public GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID("ScriptControl");
            dacă (obj == null) returnează null;
            obiectul ScriptControl = Activator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            șirul js = "funcția time(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sumă }";
            Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
            returnează obiectul. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


Testul este în regulă.
timp (1, 2, '1 + 2'), unde parametrii treși sunt (numărul 1, numărul 2, șirul 1+2).
Dar există o întrebare, new object[] { "time(1, 2, '1 + 2')" }, dacă argumentul metodei JS este de tip byte[], cum ar trebui scris la apelare?





Precedent:SQLyog-12.0.9-0 cu cod de înregistrare
Următor:Revizuirea încărcării resurselor
Postat pe 18.02.2020 10:56:17 |
Tipurile de date JavaScript pot fi împărțite în două categorii:

tip primitiv: de exemplu Nedefinit, Nul, Boolean, Număr, Șir
Valoarea tipului de referință, adică tipul obiectului: Tip obiect, cum ar fi Obiect, Tablou, Funcție, Data



Argumentele metodelor JS nu au octet[], totul este obiect
Utilizează Jurassic pentru a executa funcții js sub .net
https://www.itsvse.com/thread-4303-1-1.html
(Sursa: Architect_Programmer)


 Proprietarul| Postat pe 18.02.2020 14:10:18 |
Xiao Zhazha A Postat la 2020-2-18 10:56
Tipurile de date JavaScript pot fi împărțite în două categorii:

tip primitiv: cum ar fi Nedefinit, Nul, Boolean, Amorțit ...

Ao e așaNu știu prea multe despre JS.
Dacă
Să presupunem că parametrul funcției de timp al lui js este un tablou
function time(Array ){....................}

Urmează ultima propoziție a acestei funcții C#
returnează obiectul. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Vreau să trec un Array   
var mycars = nou Array();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Dacă apelezi doar JS pe această implementare de cod C#, nu te interesează celelalte metode de cod. Este în acest cod C#??? Cum ar trebui să fie scriși parametrii?
Postat pe 18.02.2020 14:17:06 |
zncliving Postat la 2020-2-18 14:10
Ao: Așa este, nu știu prea multe despre JS.
Dacă
Să presupunem că parametrul funcției de timp al lui js este un tablou

Ei bine, pot doar să-ți dau idei, nu să te ajut să scrii cod

Tot trebuie să cercetezi singur codul
 Proprietarul| Postat pe 18.02.2020 14:35:32 |
Xiao Zhazha Postat la 2020-2-18 14:17
Ei bine, pot doar să-ți dau idei, nu să te ajut să scrii cod

Tot trebuie să cercetezi singur codul

Bine, caut informații
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com