Класс не статичен, но может получить доступ, как если бы он был статичным

#class #static

Вопрос:

У меня есть чей-то код, и я нахожу этот класс, который не является статичным:

открытый класс OpticDataReading { частный статический экземпляр OpticDataReading только для чтения = новый экземпляр OpticDataReading();

     private OpticDataReading()
    {
    }

    public static OpticDataReading Instance
    {
        get
        {
            return instance;
        }
    }

    public void OpenOpticDataFile()
    {
        //ta metoda zwraca solo il nome di file ed il tipo

    }
 

но затем следует первая строка:

частный статический экземпляр OpticDataReading только для чтения = новый OpticDataReading(); и остальная часть кода:

общедоступный статический экземпляр OpticDataReading { получить { возвращаемый экземпляр; } }

и теперь я понимаю, что это значит.

Теперь я могу получить доступ, например, к методу OpenOpticDataFile() без создания и объекта этого класса, как если бы он был статическим.