Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 17689|Répondre: 4

[Nouveau numéro] Problème d’appel js en C# Winform

[Copié le lien]
Publié sur 18/02/2020 10:30:34 | | |
Un schéma d’appel C# vers JS trouvé sur Internet  
   chaîne publique GetTimeByJs()
        {
            Type obj = Type.GetTypeFromProgID(« ScriptControl ») ;
            si (obj == null) return null ;
            objet ScriptControl = Activator.CreateInstance(obj) ;
            Obj. InvokeMember(« Language », BindingFlags.SetProperty, null, ScriptControl, new object[] { « JavaScript » }) ;
            chaîne js = « fonction time (a, b, msg){ var sum = a + b ; return new Date().getTime() + ' : ' + msg + ' = ' + somme } ;
            Obj. InvokeMember(« AddCode », BindingFlags.InvokeMethod, null, ScriptControl, nouvel objet[] { js }) ;
            Retour obj. InvokeMember(« Eval », BindingFlags.InvokeMethod, null, ScriptControl, new object[] { « time(1, 2, '1 + 2') » }). ToString() ;
        }   


Le test est correct.
temps (1, 2, '1 + 2'), où les paramètres passés sont (nombre 1, nombre 2, chaîne 1+2).
Mais il y a une question, new object[] { « time(1, 2, '1 + 2') » }, si l’argument de la méthode JS est de type octet[], comment doit-il être écrit lors de l’appel ?





Précédent:SQLyog-12.0.9-0 avec code d’enregistrement
Prochain:Revue du téléchargement de ressources
Publié sur 18/02/2020 10:56:17 |
Les types de données JavaScript peuvent être divisés en deux catégories :

type primitif : par exemple Indéfini, Nul, Booléen, Nombre, Chaîne
Valeur du type de référence, c’est-à-dire type d’objet : Type d’objet, tel que Objet, Tableau, Fonction, Date



Les arguments des méthodes JS n’ont pas d’octet[], tout est objet
Utilisez Jurassic pour exécuter des fonctions js sous .net
https://www.itsvse.com/thread-4303-1-1.html
(Source : Architect_Programmer)


 Propriétaire| Publié sur 18/02/2020 14:10:18 |
Xiao Zhazha Publié le 18-02-2020 à 10:56
Les types de données JavaScript peuvent être divisés en deux catégories :

type primitif : comme Indéfini, Nul, Booléen, Engourdi ...

Ao est comme çaJe ne connais pas grand-chose à JS.
Si
Supposons que le paramètre de fonction temps de js soit un tableau
fonction temps(Tableau ){....................}

Suivez la dernière phrase de cette fonction C#
Retour obj. InvokeMember(« Eval », BindingFlags.InvokeMethod, null, ScriptControl, new object[] { « time( ????) » }). ToString() ;

Je veux passer un Array   
var mycars = nouvelle Array() ;
mycars[0] = « a » ;
mycars[1] = « b » ;
mycars[2] = « c » ;

Si vous n’appelez que JS sur cette implémentation de code C#, vous ne vous souciez pas des autres méthodes de code. C’est dans ce code C# ??? Comment les paramètres doivent-ils être rédigés ?
Publié sur 18/02/2020 14:17:06 |
zncliving Publié le 18-02-2020 14:10
Ao : C’est exact, je ne connais pas grand-chose à JS.
Si
Supposons que le paramètre de fonction temps de js soit un tableau

Eh bien, je ne peux que te donner des idées, pas t’aider à écrire du code

Vous devez toujours faire vos propres recherches sur le code
 Propriétaire| Publié sur 18/02/2020 14:35:32 |
Xiao Zhazha Publié le 18-02-2020 à 14:17
Eh bien, je ne peux que te donner des idées, pas t’aider à écrire du code

Vous devez toujours faire vos propres recherches sur le code

D’accord, je cherche des informations
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com