|
پاسخ به نظرات
یاسمن عزیز در مورد یه قطعه کد C# توضیح خواستن که توضیحش اینه: خط 1: آرایه ای از نوع Point گرفته به تعداد 10 تا خط 2: یک شی از نوع Point گرفته خط 3: CopyTo محتوای شی Tn2 را در Tn1 کپی می کند. توجه کنید به این نکته که اگه دوشی را با استفاده از علامت = برابر همدیگه قرار بدید آدرس اون اشیا باهم یکی میشه یعنی واقعا اون دو شی باهم یکی میشن نه اینکه باهم برابر می شن! خط 4و5و6: از Convert.Toint32 برای تبدیل به اعداد int 32 بیتی استفاده میشه و از Convert.ToSingle برای تبدیل به اعداد اعشاری استفاده میشه. پیشنهاد می کنم مقاله گرافیک در .NET را مطالعه کنید. پیشنهاد تبدیل مطالب به PDF هم پیشنهاد خوبیه که از طرف آقای مجید مهرتاش ارائه شده. البته ما قبلا هم این کار را انجام دادیم و تعدادی از مقالات را بصورت PDF برای دانلود گذاشتیم. مطالب جدیدی هم که مهدی جان دارن می نویسن به محض تمام شدن به صورت یکجا بصورت PDF تبدیل می کنیم. مجیدجان برای این کار باید از Hook یا Subclass استفاده کنی. اون سایتها و وبلاگها هم حق داشتن چون این مبحث گسترده و پیچیده است. تازه اگه بخوای از این دو روش استفاده کنی کد شما Unmanaged میشه. ولی اگه بازم می خوای پیگیری کنی یه پروژه توی Codeproject هست که یه Library برای استفاده از Hook و Subclass در .NET ارائه داده. زحمت جستجوش با خودت! DebuggerStepThrough نکته جالبی که به تازگی بهش برخوردم یه Attribute به نام DebuggerStepThrough است. حتما تا حالا با این مشکل مواجه شدید که در حال Debug بصورت خط به خط (با استفاده از کلید F11) کنترل اجرای برنامه برای مقداردهی Property ها و یا خواندن مقدار اونا دائما وارد کد اونها یا همون Property Accessor ها میشه که این مسئله باعث میشه تا زمان زیادی برای Debug کدتون هدر بره. در وهله اول به راحتی می تونید با استفاده از کلید F10 این مشکلو برطرف کنید! اما در بیشتر مواقع نوع کد باعث میشه که نتونید این کار را انجام بدید! به مثال زیر توجه کنید: کلاس Person دارای سه Property به نامهای PersonName و Grade و Salary است. متد CalculateSalary برای محاسبه حقوق بر اساس درجه کارمند و حقوق پایه استفاده می شود. اگر کد فراخوانی متد CalculateSalary شما به شکل زیر باشه: calcSalary=CalculateSalary(p.Grade, p.Salary); در اینجا اگه با کلید F10 بخواید تو کدتون حرکت کنید نمی تونید کد متد CalculateSalary را قدم به قدم مشاهده کنید اگه با کلید F11 حرکت کنید کد مربوط به Proprty های Grade و Salary را هم باید قدم به قدم مشاهده کنید. برای جلوگیری از این حالت DebuggerStepThrough را باید برای Property های مورد نظر استفاده کنید. به عنوان مثال تعریف Grade و Salary به شکل زیر نوشته خواهد شد:public int Grade
{ [DebuggerStepThrough] get { return _grade; } [DebuggerStepThrough] set { _grade = value; } } public int Salary { [DebuggerStepThrough] get { return _salary; } [DebuggerStepThrough] set { _salary = value; } }
تگهای فارسی: محمد صافدل، سی شارپ، سي شارپ، دیباگ
English Tags: Mohammad Safdel,Csharp, C sharp, C#, Debug, DebuggerStepThrough, Attribute
+
نوشته شده در یکشنبه بیست و هفتم مرداد 1387ساعت 13:18 توسط ققنوس
|
|

