forte74 Ответов: 3

Как получить доступ к переменной const ?


когда я запускаю этот код, я получаю ClassA не существует. как получить доступ к const int aaa ?
код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace const2
{
    public class ClassA
    {
        public const int aaa = 10;
    }

    class Program
    {
        static void Main(string[] args)
        {
            ClassA classaa = new ClassA();

            Console.WriteLine(classA.aaa);
            Console.ReadKey();
        }
    }
}

NotPolitcallyCorrect

"когда я запускаю этот код, я получаю ClassA не существует", ГМ ... нет, это не так. Ваш код вообще не будет работать, потому что он не будет компилироваться. И ошибка, которую вы видите на экране, говорит вам, в чем проблема. Вы пытаетесь получить доступ к нестатическому классу / полю/свойству из статического контекста. Сделайте свой класса статический и статический ААА. А на будущее включайте в свои посты точную информацию.

Afzaal Ahmad Zeeshan

То есть из-за опечатки в вашей программе вам нужно написать classaa вместо того чтобы classA.

3 Ответов

Рейтинг:
0

OriginalGriff

Здесь есть несколько неправильных вещей: в основном это связано с тем, что C# чувствителен к регистру: "classA" - это не то же самое, что" ClassA", поэтому вы не можете получить доступ к const значение без правильного получения имени класса:

ClassA classaa = new ClassA();
Console.WriteLine(ClassA.aaa);

Потому что это const значение, оно неявно статично - поэтому вы не можете получить к нему доступ через экземпляр класса, только через имя класса. Таким образом, экземпляр, который вы объявляете, не нужен, так как это тоже не будет работать:
ClassA classaa = new ClassA();
Console.WriteLine(classaa.aaa);


Afzaal Ahmad Zeeshan

5ед.

Рейтинг:
0

Karthik_Mahalingam

ошибка орфографии, первый символ написан в верхнем регистре

Console.WriteLine(ClassA.aaa);


Рейтинг:
0

Jim_Snyder

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace const2
{
    public static class ClassA
    {
        public const int aaa = 10;
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(aaa);
        }
    }
}

Непроверенный, но точный для доступа к const.