Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 17689|Odpověď: 4

[Nové číslo] Problém s js v C# winform

[Kopírovat odkaz]
Zveřejněno 18.02.2020 10:30:34 | | |
C# volání do JS schématu, které najdete na internetu  
   public string GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID ("ScriptControl");
            pokud (obj == null) vraťte null;
            object ScriptControl = Activator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            řetězec js = "funkce time(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }";
            Obj. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { js });
            Vraťte se na cíl. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


Test je v pořádku.
časem (1, 2, '1 + 2'), kde parametry předávané do jsou (číslo 1, číslo 2, řetězec 1+2).
Ale je tu otázka, nový objekt[] { "time(1, 2, '1 + 2')" }, pokud je argument metody JS typu byte[], jak by měl být zapsán při volání?





Předchozí:SQLyog-12.0.9-0 s registračním kódem
Další:Recenze nahrávání zdrojů
Zveřejněno 18.02.2020 10:56:17 |
JavaScriptové datové typy lze rozdělit do dvou kategorií:

Primitivní typ: např. Nedefinovaný, Null, Booleovský, Číslový, Strunový
Referenční hodnota typu, tedy typ objektu: Typ objektu, například objekt, pole, funkce, datum



Argumenty JS metod nemají bajt[], vše je objekt
Využití Jurassic k provádění js funkcí pod .net
https://www.itsvse.com/thread-4303-1-1.html
(Zdroj: Architect_Programmer)


 Pronajímatel| Zveřejněno 18.02.2020 14:10:18 |
Xiao Zhazha Zveřejněno 18. 2. 2020 10:56
JavaScriptové datové typy lze rozdělit do dvou kategorií:

primitivní typ: například Nedefinovaný, Null, Booleovský, Necitlivý ...

Ao je takovýO JS toho moc nevím.
Pokud
Předpokládejme, že parametr časové funkce js je pole
function time(Array ){....................}

Následujte poslední větu této funkce C#
Vraťte se na cíl. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Chci projít Array   
var mycars = nové pole();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Pokud voláte JS pouze na této implementaci v C# kódu, ostatní metody kódu vás nezajímají. To je v tomto C# kódu??? Jak by měly být parametry napsány?
Zveřejněno 18.02.2020 14:17:06 |
zncliving Zveřejněno 18. 2. 2020 14:10
Ao: Přesně tak, o JS toho moc nevím.
Pokud
Předpokládejme, že parametr časové funkce js je pole

No, můžu ti jen dávat nápady, ne ti pomáhat psát kód

Stále si musíte kód sami prozkoumat
 Pronajímatel| Zveřejněno 18.02.2020 14:35:32 |
Xiao Zhazha Zveřejněno 18. 2. 2020 14:17
No, můžu ti jen dávat nápady, ne ti pomáhat psát kód

Stále si musíte kód sami prozkoumat

Dobře, hledám informace
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com