Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 17689|Válasz: 4

[Új szám] C# winform call js probléma

[Linket másol]
Közzétéve 2020. 02. 18. 10:30:34 | | |
Egy C# hívás JS-hez rendszer, amely az interneten található  
   public string GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID("ScriptControl");
            ha (obj == null) nullat adnak vissza;
            object ScriptControl = Activator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            js string = "function time(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }";
            Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
            Return Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


A teszt rendben van.
time(1, 2, '1 + 2'), ahol a beadott paraméterek a következők: (1-es szám, 2-es, 1+2-es láncsor).
De felmerül a kérdés, új objektum[] { "time(1, 2, '1 + 2')" }, ha a JS metódus argumentja byte[ típusú[], hogyan kell megírni híváskor?





Előző:SQLyog-12.0.9-0 regisztrációs kóddal
Következő:Forrásfeltöltési értékelés
Közzétéve 2020. 02. 18. 10:56:17 |
A JavaScript adattípusok két kategóriába sorolhatók:

primitív típus: pl. Undefined, Null, Boolean, Number, String
Referencia típus érték, azaz objektumtípus: Objektumtípus, például Objektum, Tömb, Függvény, Dátum



A JS metódusok argumentumai nem rendelkeznek byte[], minden objektum
Utilize Jurassic to execut js functions under .net
https://www.itsvse.com/thread-4303-1-1.html
(Forrás: Architect_Programmer)


 Háziúr| Közzétéve 2020. 02. 18. 14:10:18 |
Xiao Zhazha 2020-2-18 10:56-án írva
A JavaScript adattípusok két kategóriába sorolhatók:

primitív típus: például Undefined, Null, Boolean, Numb ...

Ao ilyenNem sokat tudok a JS-ről.
Ha
Tegyük fel, hogy a js időfüggvény paramétere egy tömb
function time(Array ){....................}

Kövesd ennek a C# függvénynek az utolsó mondatát
Return Obj. InvokeMember("Eval", bindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Szeretnék átmenni egy Array   
var mycars = új Array();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Ha csak a JS-t hívod ezen a C# kódimplementáción, akkor nem érdekel más kód módszerek. Ez benne van ebben a C# kódban??? Hogyan kell megírni a paramétereket?
Közzétéve 2020. 02. 18. 14:17:06 |
zncliving Közzétéve: 2020-2-18 14:10
Ao: Így van, nem tudok sokat a JS-ről.
Ha
Tegyük fel, hogy a js időfüggvény paramétere egy tömb

Nos, csak ötleteket tudok adni, nem segíteni a kódírásban

Még mindig utánanézned kell a kódnak a kódot
 Háziúr| Közzétéve 2020. 02. 18. 14:35:32 |
Xiao Zhazha Közzétéve: 2020-2-18 14:17
Nos, csak ötleteket tudok adni, nem segíteni a kódírásban

Még mindig utánanézned kell a kódnak a kódot

Rendben, információt keresek
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com