منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : استخدام #if
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كيف يمكن الحصول علي قيمة داخل #if و #endif مثلآ

كود :
       public bool xx;
#if xx
       public int iss = 5;
 #endif

كود :
     public void test()
       {
          Console.Write(iss.ToString());
       }

المشكلة انه لايمكن الوصول الي iss عند استخدام #if
مرحباً اخى Mohamed20

لديك طريقة من اثنين

اما ان تقوم باستخدام الكود على هذا الشكل
كود :
       public bool xx;
#if xx
      public int iss = 5;
#else
       public int iss = 0;
#endif

أو الاستخدام بهذا الشكل
كود :
       public int iss;
       public void test()
       {
           if (xx)
           {
               iss = 5;
               Console.Write(iss.ToString());
           }
       }

تحياتى لك
وتمنياتى لك التوفيق
(07-03-19, 06:40 PM)elgokr كتب : [ -> ]
مرحباً اخى Mohamed20

لديك طريقة من اثنين

اما ان تقوم باستخدام الكود على هذا الشكل
كود :
       public bool xx;
#if xx
      public int iss = 5;
#else
       public int iss = 0;
#endif

أو الاستخدام بهذا الشكل
كود :
       public int iss;
       public void test()
       {
           if (xx)
           {
               iss = 5;
               Console.Write(iss.ToString());
           }
       }

تحياتى لك
وتمنياتى لك التوفيق
جزاك الله خير اخي لاكن اذا كانت قيمة iss يتم استدعائها بشكل تلقائي و هذه القيمة ليست معلومة عشوائية هل يوجد حل لهذه المشكلة ؟

مثلآ مثل

كود :
#if xx
     public int iss { get; set; }
#else
       public int iss = 0;
#endif

iss تاخذ قيم عشوائية فهل من هل لهذا؟
لى ولك وللجميع

بما انك ستصل لاستخدام iss
فاجعل القيمة والتحقق قبل تنفيذ الامر

بمعنى ان تجعل الامر فى البداية على هذا النحو
كود :
      public int iss {get; set;}

من ثم تاتى داخل اى حدث وتقوم بتنفيذ على هذا النحو
كود :
           if (xx) {MessageBox.Show(iss.ToString());}

لانك فى كلا الاحوال مجبر الى اعطاء قيمة لـ iss مهما كانت قيمة xx
لكن الطريقة هنا فى حالة xx قيمته false فهل تريد ان يقوم بطباعة قيمة iss ايضاً

طبقاً على ردك بتقوم بتلاعب فى هذا السطر
كود :
           if (xx) {MessageBox.Show(iss.ToString());}

تحياتى لك
وتمنياتى لك التوفيق
(08-03-19, 01:31 AM)elgokr كتب : [ -> ]
لى ولك وللجميع

بما انك ستصل لاستخدام iss
فاجعل القيمة والتحقق قبل تنفيذ الامر

بمعنى ان تجعل الامر فى البداية على هذا النحو
كود :
      public int iss {get; set;}

من ثم تاتى داخل اى حدث وتقوم بتنفيذ على هذا النحو
كود :
           if (xx) {MessageBox.Show(iss.ToString());}

لانك فى كلا الاحوال مجبر الى اعطاء قيمة لـ iss مهما كانت قيمة xx
لكن الطريقة هنا فى حالة xx قيمته false فهل تريد ان يقوم بطباعة قيمة iss ايضاً

طبقاً على ردك بتقوم بتلاعب فى هذا السطر
كود :
           if (xx) {MessageBox.Show(iss.ToString());}

تحياتى لك
وتمنياتى لك التوفيق
شكرآ اخي
الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق