في بعض الاحيان عندما تكتب كود تحتاج لمعرفة معلومات عن ال Method التي منها تم استدعاء كودك !
قبل C# 5 كنا نستخدم الكلاس System.Diagnostics.StackFrame , علي سبيل المثال
using System; using System.Diagnostics; namespace CS_05 { class Program { static void Main(string[] args) { Print("Hello World"); Console.ReadKey(); } static void Print(string message) { var sf = new StackFrame(1, true); // Back up 1 level from the current method var methodName = sf.GetMethod().Name; var sourceFile = sf.GetFileName(); var lineNumber = sf.GetFileLineNumber(); Console.WriteLine("[{2} -- {0}] - {1} ({3}:{4})", methodName, message, DateTime.Now, sourceFile, lineNumber); } } }
النائج سيكون ع هذا النحو :
[2/22/2013 11:11:15 PM -- Main] - Hello World (f:\VisualStudioProjects\CS_05\CS_ 05\Program.cs:9)
في الاصدار الجديد للغة C# تم توفير Attributes جديدة لل Methods ويمكن استخدامها كالتالي :
using System; using System.Diagnostics; using System.Runtime.CompilerServices; namespace CS_05 { class Program { static void Main(string[] args) { Print("Hello World"); Console.ReadKey(); } private static void Print(string message, [CallerMemberName] string methodName = null, [CallerFilePath] string sourceFile = null, [CallerLineNumber] int lineNumber = 0) { Console.WriteLine("[{2} -- {0}] - {1} ({3}:{4})", methodName, message, DateTime.Now, sourceFile, lineNumber); } } }
والناتج واحد 🙂
هذه الطرق كلها مفيدة في حالة اذا كنت تريد ان تعرف من اي Method يتم استدعاء Method اخري؛ وبالتالي ستسهل عليك اقتناص الاخطاء في برنامجك واصلاحها.
kamagra sans ordonnance
medicament kamagra en spain
how to order enclomiphene cost of tablet
cheapest buy enclomiphene generic germany
cheapest buy androxal generic when will be available
buy androxal san francisco
ordering flexeril cyclobenzaprine generic online canada
cheap flexeril cyclobenzaprine generic online buy
order prescription free dutasteride
discount dutasteride generic pharmacy in canada
cheap fildena uk pharmacy
buy fildena non prescription online
gabapentin generic 100 mg at promotional price or free offer
buy gabapentin australia online no prescription
buying itraconazole price singapore
ordering itraconazole generic tablets
online order staxyn generic is good
buy cheap staxyn generic order
buy cheap avodart ireland over the counter
buy avodart cost usa
buy cheap xifaxan no rx needed
order xifaxan online no rx
purchase rifaximin canada drugs
how to buy rifaximin generic best price
comprar kamagra en arg
koupit levné kamagra bez lékařského předpisu