الوصول إلى الحقول أو الخصائص من داخل الفئة المعلنة

StackOverflow https://stackoverflow.com/questions/1216746

سؤال

Public Class FooBar
{
    private int _foo;

    public int Foo { 
        get { return _foo; }
        set { _foo = value; }
    }

    public void DoStuff()
    {
        _foo++; // Do this?
        Foo++; // Or this?
    }
}

هل هناك ممارسة أكثر قبولًا للوصول إلى الحقول أو الخصائص (إن وجدت) في الفصل الدراسي؟لقد كنت دائمًا معتادًا على الوصول إلى هذا الحقل، ولكن منذ أن كنت أستخدم WPF الذي يحتوي على الكثير من INotifyPropertyChanged، وجدت نفسي بحاجة إلى الوصول إلى الخاصية لتغيير الإشعار.إذن لدي الآن مزيج من كل من الوصول إلى الحقول والممتلكات عبر فصولي الدراسية، وبينما لا يهم من وجهة نظر المترجم، من حيث الأسلوب وسهولة القراءة، فإنه يبدو ... محرجًا.

هل كانت مفيدة؟

المحلول

وهناك بالتأكيد الحالات التي الوصول إلى الملكية لا معنى له (على سبيل المثال، إذا كنت تنفيذ الملكية نفسها). وضع تلك الحالات جانبا، وكنت أذهب مع نمط الملكية بشكل افتراضي (ما لم يكن لدي سبب معين لا). الوصول إلى الميدان من خلال خاصية سيوجه كل التغييرات في مسار رمز واحد مما يجعل تغيير التنفيذ والتصحيح أسهل ويمكن أن يكون أقل عرضة للخطأ.

نصائح أخرى

الكثير من هذا يعود إلى الأسلوب الشخصي.لا توجد إجابة صحيحة أو خاطئة بنسبة 100% هنا.

أفضّل أن أذهب إلى العقار في كل مرة لعدة أسباب

  • يجعل تصحيح الأخطاء أسهل حيث يمكنك قطع الوصول إلى الخاصية ورؤية كل ما تم الحصول عليه/مجموعة القيمة.غير ممكن مع المجال
  • تناسق:في بعض الحالات، مثل الخصائص التلقائية، لا يمكن الانتقال مباشرة إلى حقل الدعم.يؤدي المرور عبر الخاصية في كل مرة إلى إظهار نفس الرمز الذي يصل إلى نفس القيمة.
  • أداء:خصائص بسيطة هي محتمل مضمنة بواسطة JIT، لذا فإن مشكلة الأداء عادةً ما تكون نقطة كتم الصوت.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top