Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 17689|Yanıt: 4

[Yeni Sayı] C# winform call js issue

[Bağlantıyı kopyala]
Yayınlandı 18.02.2020 10:30:34 | | |
İnternette bulunan bir C# çağrı JS şeması  
   public string GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID("ScriptControl");
            eğer (obj == null) null döndürür;
            object ScriptControl = Activator.CreateInstance(obj);
            Obj. InvokeMember("Language", BindingFlags.SetProperty, null, ScriptControl, new object[] { "JavaScript" });
            js dizisi = "fonksiyon zamanı(a, b, msg){ var toplam = 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();
        }   


Test sorun değil.
time(1, 2, '1 + 2'), burada geçen parametreler (sayı 1, sayı 2, dizi 1+2) olarak değişir.
Ama bir soru var, new object[] { "time(1, 2, '1 + 2')" }, JS metodunun argümanı byte tipindeyse, çağrı sırasında nasıl yazılmalıdır?





Önceki:SQLyog-12.0.9-0 kayıt kodu ile
Önümüzdeki:Kaynak yükleme incelemesi
Yayınlandı 18.02.2020 10:56:17 |
JavaScript veri türleri iki kategoriye ayrılabilir:

ilkel tip: örneğin Tanımlanmamış, Null, Boolean, Sayı, Dizi
Referans tipi değeri, yani nesne türü: Nesne türü, örneğin Nesne, Dizi, Fonksiyon, Tarih



JS metodlarının argümanları bayt[] içermez, her şey nesnedir
.net altında js fonksiyonlarını çalıştırmak için Jurassic'i kullanın
https://www.itsvse.com/thread-4303-1-1.html
(Kaynak: Architect_Programmer)


 Ev sahibi| Yayınlandı 18.02.2020 14:10:18 |
Xiao Zhazha 2020-2-18 10:56 tarihinde yayınlandı
JavaScript veri türleri iki kategoriye ayrılabilir:

ilkel tip : örneğin Tanımlanmamış, Null, Boolean, Numb ...

Ao böyleJS hakkında pek bilgim yok.
Eğer
Js'nin zaman fonksiyonu parametresi bir dizi olduğunu varsayalım
function time(Array ){....................}

Bu C# fonksiyonunun son cümlesini takip edin
Return Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, new object[] { "time(????)" }). ToString();

Bir Diziyi geçmek istiyorum   
var mycars = yeni Dizi();
mycars[0] = "a";
mycars[1] = "b";
mycars[2] = "c";

Bu C# kod uygulamasında sadece JS çağırırsan, diğer kod yöntemleri umurunda olmaz. Bu C# kodunda var??? Parametreler nasıl yazılmalı?
Yayınlandı 18.02.2020 14:17:06 |
zncliving 2020-2-18 14:10 tarihinde yayınlandı
Ao: Evet, JS hakkında pek bilgim yok.
Eğer
Js'nin zaman fonksiyonu parametresi bir dizi olduğunu varsayalım

Sadece fikir verebilirim, kod yazmana yardım edemezim

Yine de kodu kendiniz araştırmanız gerekiyor
 Ev sahibi| Yayınlandı 18.02.2020 14:35:32 |
Xiao Zhazha 2020-2-18 14:17 tarihinde yayınlandı
Sadece fikir verebilirim, kod yazmana yardım edemezim

Yine de kodu kendiniz araştırmanız gerekiyor

Tamam, bilgi arıyorum
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com