jitendra kumar mahpatro Ответов: 1

Класс содержит частный конструктор и публичное свойство, тогда как мы можем назначить публичное свойство в C#


публичный класс mUIPassword
{
public mUserPasswords user { get; set; }
public string channel { get; set; }
public string lang { get; set; }
mUIPassword()
{
канал = "устройство|сеть";
lang = "en";
}
}
публичный класс mUserPasswords
{
общественного строка новый_пароль { получить; набор; }
общественного строка старый_пароль { получить; набор; }
}

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

Здесь как я могу назначить пользовательское свойство?

1 Ответов

Рейтинг:
2

OriginalGriff

Частные конструкторы используются, когда классу необходимо поддерживать контроль над созданными экземплярами (чаще всего как одноэлементный класс, где существует только один экземпляр созданного класса).
В таких случаях класс должен предоставить метод для создания и возврата экземпляра, или нестатические свойства и методы вообще не могут быть доступны (поскольку для их использования требуется экземпляр).

Поэтому в вашем конкретном примере ответ будет "вы не можете".
Но вы можете это сделать, если предоставите метод, как уже упоминалось:

public class mUIPassword
    {
    public mUserPasswords user { get; set; }
    public string channel { get; set; }
    public string lang { get; set; }
    private mUIPassword()
        {
        channel = "device|Web";
        lang = "en";
        }
    private static mUIPassword theInstance = null;
    public static mUIPassword GetInstance()
        {
        if (theInstance == null) theInstance = new mUIPassword();
        return theInstance;
        }
    }