Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 17689|Odpowiedź: 4

[Nowy numer] Problem z wywołaniem w C# winform js

[Skopiuj link]
Opublikowano 18.02.2020 10:30:34 | | |
Schemat wywołań w języku C# do JS dostępny w Internecie  
   public string GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID("ScriptControl");
            jeśli (obj == null) zwróć null;
            object ScriptControl = Activator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            String js = "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 });
            Wróć do celu. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


Test jest w porządku.
czas(1, 2, '1 + 2'), gdzie parametry przekazywane w to (numer 1, numer 2, ciąg 1+2).
Ale pojawia się pytanie, nowy obiekt[] { "time(1, 2, '1 + 2')" }, jeśli argument metody JS to typ bajt[], jak powinien być zapisany podczas wywoływania?





Poprzedni:SQLyog-12.0.9-0 z kodem rejestracyjnym
Następny:Przegląd przesyłania zasobów
Opublikowano 18.02.2020 10:56:17 |
Typy danych JavaScript można podzielić na dwie kategorie:

Typ prymitywny: np. Niezdefiniowany, Null, Booleusz, Liczba, Struna
Wartość typu referencyjnego, czyli typ obiektu: Typ obiektu, taki jak Obiekt, Tablica, Funkcja, Data



Argumenty metod JS nie mają bajtów[], wszystko jest obiektem
Wykorzystaj Jurassic do wykonywania funkcji js w .net
https://www.itsvse.com/thread-4303-1-1.html
(Źródło: Architect_Programmer)


 Ziemianin| Opublikowano 18.02.2020 14:10:18 |
Xiao Zhazha Opublikowano 2020-2-18 10:56
Typy danych JavaScript można podzielić na dwie kategorie:

typ prymitywny: taki jak Niezdefiniowany, Null, Booleusz, Odrętwiały ...

Ao jest takiNiewiele wiem o JS.
Jeśli
Załóżmy, że parametr funkcji czasowej js jest tablicą
function time(Array ){....................}

Przejdź do ostatniego zdania tej funkcji C#
Wróć do celu. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Chcę przekazać tablicę   
var mycars = nowa tablica ();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Jeśli wywołujesz JS tylko na tej implementacji kodu C#, nie obchodzi cię inne metody kodowania. To jest w tym kodzie C#??? Jak powinny być napisane te parametry?
Opublikowano 18.02.2020 14:17:06 |
zncliving Opublikowano 2020-2-18 14:10
Ao: Zgadza się, niewiele wiem o JS.
Jeśli
Załóżmy, że parametr funkcji czasowej js jest tablicą

Cóż, mogę tylko dawać pomysły, nie pomagać w pisaniu kodu

Musisz sam zbadać kod
 Ziemianin| Opublikowano 18.02.2020 14:35:32 |
Xiao Zhazha Opublikowano 2020-2-18 14:17
Cóż, mogę tylko dawać pomysły, nie pomagać w pisaniu kodu

Musisz sam zbadać kod

Dobrze, szukam informacji
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com