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

Görünüm: 29154|Yanıt: 2

[Kaynak] .NET/C# öznitelikleri CallerMemberName, CallerFilePath, CallerLineNumber

[Bağlantıyı kopyala]
Yayınlandı 11.08.2021 09:45:56 | | | |
.Net 4.5'te üç Öznitelik tanıtıldı: CallerMemberName, CallerFilePath ve CallerLineNumber. Derleyicinin yardımıyla, çağrı fonksiyonunun adını (daha doğrusu, bir üye olmalı), çağrı dosyasını ve çağrı hattı numarasını elde edebilirsiniz.

Belge:https://docs.microsoft.com/en-us ... membernameattribute

Ayrıca StackTrace ve StackFrame nesnelerini de kullanarak onları elde edebilirsiniz, ancak bu özellikle daha pratik şekilde elde edebiliriz.

StackTrace: Bir yığın izini temsil eder; bu, bir veya daha fazla yığın çerçevesinin sıralı bir koleksiyonudur.

StackFrame: StackFrame hakkında bilgi sağlar (çağrı yığınında mevcut iş parçacığını temsil eden bir fonksiyon çağrısı).

Daha önce, StackTrace üzerinden çağıranın metod adını almak için AOP kullandım ve kod şöyle:


Bu özellik kullanılarak test kodu şu şekildedir:

Render:



(Son)




Önceki:Maven güncellemePolitika anlık görüntü güncelleme politikası
Önümüzdeki:Java baytı[] ve InputStream birbirine dönüştürülür
 Ev sahibi| Yayınlandı 27.11.2022 21:09:56 |
 Ev sahibi| Yayınlandı 27.11.2022 22:35:47 |
Mevcut metod adını asenkron bir fonksiyondan mı alın?

Bağlantı girişi görünür.

C#5, arayan bilgi özellikleri ekliyor, bu da aradığınız şeylerin daha fazlasını verebilir. Bunlar, çalışma zamanı bilgisi kullanmak yerine uygun bilgiyi derleme zamanında çağrı sitesine eklemektedir. Daha sınırlı işlevsellik (tabii ki tam çağrı yığını elde edilmiyor), ama çok daha hızlı.





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