سؤال

أحاول فهم خصائص الحصول على الحقول وتعيينها، والتعامل مع هذه المشكلة، هل يمكن لأحد أن يشرح لي لماذا اضطررت إلى جعل حقل int X ثابتًا لإنجاز هذا العمل؟

using System;

namespace ConsoleApplication1
{
    class Program
    {
        public static int X = 30;
        public static void Main()
        {
            var cX = new testme();
            cX.intX = 12;
            Console.WriteLine(cX.intX);
            cX.intX = X;
            Console.WriteLine(cX.intX);
            Console.ReadKey();
        }
    }
    class testme
    {
        public int intX
        {
            get;
            set;
        }
    }
}
هل كانت مفيدة؟

المحلول

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

نصائح أخرى

ولأنه يستخدم في أسلوب ثابت

ومنذ Main غير ثابت، لا يمكنك الوصول إلى الحالات غير ثابت من خارجها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top