Замена значения свойства только на получение? - PullRequest
0 голосов
/ 27 мая 2020

Быстрый вопрос:

Можно ли изменить значение MyProperty без сеттера?

public static void MyClass
{
    private readonly string myProperty;

    public MyClass(string property)
    {
        this.myProperty = property;
    }

    public static string MyProperty {get {return this.myProperty}}
}

Ответы [ 2 ]

3 голосов
/ 27 мая 2020

Только один раз для каждого домена приложения, через конструктор stati c:

public static class MyClass
{
    public static string MyProperty { get; }

    static MyClass()
    {
        MyProperty = "SomeValue";
    }
}

Или через инициализатор:

public static class MyClass
{
    public static string MyProperty { get; } = "SomeValue";
}
0 голосов
/ 27 мая 2020

Вы также можете иметь частное значение и использовать метод для его установки. Если вы собираетесь использовать этот метод, вам лучше удалить stati c.

void Main()
{
    SetValue("New Value");
}

private static string _propertyValue { get; set; }

public static string MyProperty
{
    get
    {
        return _propertyValue;
    }
}

public static void SetValue(string value)
{
    _propertyValue = value;
}
...