Member 13731238 Ответов: 1

Без частного конструктора мы можем получить доступ к статическому члену из одного класса в другой?


использование частного конструктора : он не может создавать экземпляр, он не может наследовать, он содержит только статические элементы данных

без частного конструктора также я могу получить доступ к классу с его статическим объявлением и статическим членом данных при присвоении значения, как в приведенном ниже примере

class Test
{        
    public static int x = 12;
    public static int method()
    {
        return 13;
    }
}
class Program
{
    int resut1 = Test.x;
    int resut2 = Test.method();
    static void Main(string[] args)
    {
    }
}

поэтому у меня есть сомнения как показано ниже зачем идти к частному конструктору что такое использование блока частного конструктора мы не можем ничего сделать внутри блока частного конструктора когда он выполняется пожалуйста объясните ясно

заранее спасибо

Что я уже пробовал:

я пробовал без частного конструктора

в частном конструкторе также нет доступа к статическим элементам данных при вызове внутри нестатических методов или внутри блока класса.

то же самое, что один класс (class1 ) имеет статические члены данных и другой класс (class2)

class1 статический член данных не может вызвать в class2

1 Ответов

Рейтинг:
0

OriginalGriff

Частные конструкторы просто не позволяют "внешним" классам создавать какие - либо экземпляры-они в основном используются для одноэлементных классов. Но это никак не влияет на нас. static элементы, потому что они вообще не требуют экземпляра для работы.
Итак, это:

public MyClass
    {
    private MyClass() {}
    public static myProperty { get; set; }
    public static int myMethod( int x) { return x * 2; }
    public MyClass GetInstance() { return new MyClass(); }
    }
myProperty, myMethod, и GetInstance все они доступны с помощью внешнего кода.