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

Άποψη: 29154|Απάντηση: 2

[Πηγή] Χαρακτηριστικά .NET/C# CallerMemberName, CallerFilePath, CallerLineNumber

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 11/8/2021 9:45:56 π.μ. | | | |
Τρία χαρακτηριστικά εισήχθησαν στο .Net 4.5: CallerMemberName, CallerFilePath και CallerLineNumber. Με τη βοήθεια του μεταγλωττιστή, μπορείτε να λάβετε το όνομα της συνάρτησης κλήσης (για την ακρίβεια, θα πρέπει να είναι μέλος), το αρχείο κλήσης και τον αριθμό της γραμμής κλήσης.

Τεκμηρίωση:https://docs.microsoft.com/en-us ... membernameattribute

Μπορείτε επίσης να χρησιμοποιήσετε αντικείμενα StackTrace και StackFrame για να τα αποκτήσετε, αλλά με αυτήν τη δυνατότητα, μπορούμε να τα αποκτήσουμε πιο άνετα.

StackTrace: Αντιπροσωπεύει ένα ίχνος στοίβας, το οποίο είναι μια διατεταγμένη συλλογή ενός ή περισσότερων πλαισίων στοίβας.

StackFrame: Παρέχει πληροφορίες σχετικά με το StackFrame (μια κλήση συνάρτησης στη στοίβα κλήσεων που αντιπροσωπεύει το τρέχον νήμα).

Προηγουμένως, χρησιμοποιούσα το AOP για να λάβω το όνομα της μεθόδου του καλούντος μέσω του StackTrace και ο κωδικός είναι ο εξής:


Χρησιμοποιώντας τη δυνατότητα, ο κωδικός δοκιμής είναι ο εξής:

Αποδόσεις:



(Τέλος)




Προηγούμενος:Ενημέρωση MavenΠολιτική ενημέρωσης στιγμιότυπου πολιτικής
Επόμενος:Το Java byte[] και το InputStream μετατρέπονται μεταξύ τους
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 27/11/2022 9:09:56 μ.μ. |
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 27/11/2022 10:35:47 μ.μ. |
Λάβετε το όνομα της τρέχουσας μεθόδου από μια ασύγχρονη συνάρτηση;

Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Το C# 5 προσθέτει ιδιότητες πληροφοριών καλούντος, οι οποίες μπορεί να σας δώσουν περισσότερα από αυτά που ψάχνετε. Σημειώστε ότι αυτά εισάγουν τις κατάλληλες πληροφορίες κατά το χρόνο μεταγλώττισης στην τοποθεσία κλήσης, αντί να χρησιμοποιούν πληροφορίες χρόνου εκτέλεσης. Πιο περιορισμένη λειτουργικότητα (προφανώς δεν λαμβάνετε την πλήρη στοίβα κλήσεων), αλλά πολύ πιο γρήγορα.





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

Mail To:help@itsvse.com