طريقة جامدة جدا جدا تخليك تتحكم في إن الـ Method دي ما تشتغلش غير في أثناء مرحلة الـ Debug وما تشتغلش أثناء مرحلة الـ Release.
الخطوات:
1. في المشروع بتاعنا هنكتب الـ Method اللي احنا عاوزينها ما تشتغلش غير أثناء عملية الـ Debug فقط. هتكون دي في مثالنا ده:
Public Sub ShowMessageBox()
MessageBox.Show("Hello, World.")
End Sub2. قبل بداية الـ Method هنضيف السطر ده علشان يبقى الكود كده:
<System.Diagnostics.Conditional("DEBUG")> _
Public Sub ShowMessageBox()
MessageBox.Show("Hello, World.")
End Subملاحظة: لازم نحوط الخاصية Attribute والـ Argument بتاعها بـ < و > ولازم تكون الـ Attribute على نفس السطر مع كود الـ Method بس أنا فصلتهم في سطرين علشان كده استخدمت العلامة _.
3. هنضيف أمر نداء الـ Method بتاعنا في حدث التحميل Load الخاص بالفورم على سبيل المثال علشان يبقى كود الفورم كامل:
Public Class ExampleForm
<System.Diagnostics.Conditional("DEBUG")> _
Public Sub ShowMessageBox()
MessageBox.Show("Hello, World.")
End Sub
Private Sub ExampleForm_Load(...) Handles Me.Load
ShowMessageBox()
End Sub
End Class4. هنشغل البرنامج بتاعنا مع مراعات اختيار مرحلة المشروع Debug.

هنلاحظ ظهور الرسالة.
5. هنشغل البرنامج مرة تانية بس هنختار المرحلة Release.

هنلاحظ عدم ظهور الرسالة.
طب وازاي نستفيد من الخاصية دي؟
طبعا لإن أي برنامج بنعمله مش بنعمل Setup للبرنامج غير في المرحلة Release فاحنا ممكن مثلا نراقب التغييرات اللي بتحصل في المشروع أو إننا نسجل الأخطاء اللي حصلت في ملف على سطح المكتب مثلا بحيث إن الملف ده ما بيتسجلش فيه غير أثناء عمل Debug للبرنامج وما يتسجلش فيه عند اليوزر اللي هيستخدم البرنامج.