Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 17689|Απάντηση: 4

[Νέο τεύχος] C# winform κλήση js πρόβλημα

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 18/2/2020 10:30:34 π.μ. | | |
Μια κλήση C# στο σύστημα JS βρέθηκε στο Διαδίκτυο  
   δημόσια συμβολοσειρά GetTimeByJs()
        {
            Πληκτρολογήστε obj = Type.GetTypeFromProgID("ScriptControl");
            αν (obj == null) επιστροφή null;
            αντικείμενο ScriptControl = Activator.CreateInstance(obj);
            Στόχος. InvokeMember("Γλώσσα", BindingFlags.SetProperty, null, ScriptControl, νέο αντικείμενο[] { "JavaScript" });
            συμβολοσειρά js = "χρόνος συνάρτησης(a, b, msg){ var sum = a + b; return new Date().getTime() + ': ' + msg + ' = ' + sum }";
            Στόχος. InvokeMember("AddCode", BindingFlags.InvokeMethod, null, ScriptControl, νέο αντικείμενο[] { js });
            επιστροφή Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, νέο αντικείμενο[] { "time(1, 2, '1 + 2')" }). ToString();
        }   


Το τεστ είναι μια χαρά.
time(1, 2, '1 + 2'), όπου οι παράμετροι που μεταβιβάζονται είναι (αριθμός 1, αριθμός 2, συμβολοσειρά 1+2).
Αλλά υπάρχει μια ερώτηση, νέο αντικείμενο[] { "time(1, 2, '1 + 2')" }, αν το όρισμα της μεθόδου JS είναι τύπου byte[], πώς πρέπει να γράφεται κατά την κλήση;





Προηγούμενος:SQLyog-12.0.9-0 με κωδικό εγγραφής
Επόμενος:Έλεγχος μεταφόρτωσης πόρων
Δημοσιεύτηκε στις 18/2/2020 10:56:17 π.μ. |
Οι τύποι δεδομένων JavaScript μπορούν να χωριστούν σε δύο κατηγορίες:

πρωτόγονος τύπος: π.χ. Undefined, Null, Boolean, Number, String
Τιμή τύπου αναφοράς, δηλαδή τύπος αντικειμένου: Τύπος αντικειμένου, όπως Αντικείμενο, Πίνακας, Συνάρτηση, Ημερομηνία



Τα ορίσματα των μεθόδων JS δεν έχουν byte[], όλα είναι αντικείμενο
Χρησιμοποιήστε το Jurassic για να εκτελέσετε λειτουργίες js στο .net
https://www.itsvse.com/thread-4303-1-1.html
(Πηγή: Architect_Programmer)


 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 18/2/2020 2:10:18 μ.μ. |
Xiao Zhazha Δημοσιεύτηκε στις 2020-2-18 10:56
Οι τύποι δεδομένων JavaScript μπορούν να χωριστούν σε δύο κατηγορίες:

πρωτόγονος τύπος : όπως Undefined, Null, Boolean, Numb ...

Το Ao είναι έτσιΔεν ξέρω πολλά για τον JS.
Αν
Ας υποθέσουμε ότι η παράμετρος συνάρτησης χρόνου του js είναι ένας πίνακας
χρόνος συνάρτησης (Πίνακας ){....................}

Ακολουθήστε την τελευταία πρόταση αυτής της συνάρτησης C#
επιστροφή Obj. InvokeMember("Eval", BindingFlags.InvokeMethod, null, ScriptControl, νέο αντικείμενο[] { "time(????)" }). ToString();

Θέλω να περάσω έναν πίνακα   
var mycars = νέος πίνακας();
mycars[0] = "α";
mycars[1] = "β";
mycars[2] = "c";

Εάν καλείτε μόνο JS σε αυτήν την υλοποίηση κώδικα C#, δεν σας ενδιαφέρουν άλλες μέθοδοι κώδικα. Αυτό είναι σε αυτόν τον κωδικό C#??? Πώς πρέπει να γράφονται οι παράμετροι;
Δημοσιεύτηκε στις 18/2/2020 2:17:06 μ.μ. |
zncliving Δημοσιεύτηκε στις 2020-2-18 14:10
Ao: Σωστά, δεν ξέρω πολλά για τον JS.
Αν
Ας υποθέσουμε ότι η παράμετρος συνάρτησης χρόνου του js είναι ένας πίνακας

Λοιπόν, μπορώ μόνο να σας δώσω ιδέες, όχι να σας βοηθήσω να γράψετε κώδικα

Πρέπει ακόμα να ερευνήσετε μόνοι σας τον κώδικα
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 18/2/2020 2:35:32 μ.μ. |
Xiao Zhazha Δημοσιεύτηκε στις 2020-2-18 14:17
Λοιπόν, μπορώ μόνο να σας δώσω ιδέες, όχι να σας βοηθήσω να γράψετε κώδικα

Πρέπει ακόμα να ερευνήσετε μόνοι σας τον κώδικα

Εντάξει, ψάχνω για πληροφορίες
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com