See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 17689|Vastuse: 4

[Uus number] C# winform call js probleem

[Kopeeri link]
Postitatud 18.02.2020 10:30:34 | | |
C# kõne JS-skeem, mis leiti internetist  
   avalik string GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID("ScriptControl");
            kui (objekt == null) tagasta null;
            object ScriptControl = Activator.CreateInstance(obj);
            obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            string js = "funktsioon time(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }";
            obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
            Tagasta objekt. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


Test on korras.
time(1, 2, '1 + 2'), kus parameetrid on (number 1, number 2, string 1+2).
Aga tekib küsimus, new object[] { "time(1, 2, '1 + 2')" }, kui JS meetodi argument on tüüpi byte[], kuidas seda kutsumisel kirjutada?





Eelmine:SQLyog-12.0.9-0 registreerimiskoodiga
Järgmine:Ressursside üleslaadimise ülevaade
Postitatud 18.02.2020 10:56:17 |
JavaScripti andmetüübid jagunevad kahte kategooriasse:

primitiivne tüüp: nt määratlemata, null, boole'i, arv, string
Viitetüübi väärtus, st objektitüüp: Objektitüüp, näiteks objekt, massiivi, funktsioon, kuupäev



JS meetodite argumentidel ei ole bait[], kõik on objekt
Kasuta Jurassicut js funktsioonide täitmiseks .net all
https://www.itsvse.com/thread-4303-1-1.html
(Allikas: Architect_Programmer)


 Üürileandja| Postitatud 18.02.2020 14:10:18 |
Xiao Zhazha Postitatud 2020-2-18 10:56
JavaScripti andmetüübid jagunevad kahte kategooriasse:

primitiivne tüüp: näiteks määratlemata, null, boole'i, tuim ...

Ao on sellineMa ei tea JS-ist palju.
Kui
Oletame, et ajafunktsiooni parameeter js on massiivi
function time(Array ){....................}

Järgige selle C# funktsiooni viimast lauset
Tagasta objekt. InvokeMember("Eval(", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Ma tahan läbida Massiivi   
var mycars = uus Array();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Kui sa kutsud JS-i ainult selle C# koodi rakenduse puhul, siis sind ei huvita teised koodimeetodid. See on selles C# koodis??? Kuidas parameetreid tuleks kirjutada?
Postitatud 18.02.2020 14:17:06 |
zncliving Postitatud 2020-2-18 14:10
Ao: Just nii, ma ei tea JS-ist palju.
Kui
Oletame, et ajafunktsiooni parameeter js on massiivi

Noh, ma saan sulle anda ainult ideid, mitte aidata koodi kirjutada

Sa pead ikkagi ise koodi uurima
 Üürileandja| Postitatud 18.02.2020 14:35:32 |
Xiao Zhazha Postitatud 2020-2-18 14:17
Noh, ma saan sulle anda ainult ideid, mitte aidata koodi kirjutada

Sa pead ikkagi ise koodi uurima

Okei, ma otsin infot
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com