установить значение по умолчанию в конструкторе класса C # - PullRequest
5 голосов
/ 09 марта 2011

Мне нужен набор значений по умолчанию и доступ к различным страницам и их обновление. Вначале я могу установить значение по умолчанию в конструкторе классов следующим образом? Как правильно сделать это в C # .NET?

public class ProfitVals
{

    private static double _hiprofit;

    public static Double HiProfit
    {
        get { return _hiprofit; }

        set { _hiprofit = value; }
    }

    // assign default value

    HiProfit = 0.09;

}

Ответы [ 3 ]

9 голосов
/ 09 марта 2011

Вы можете поместить его в объявление: private static double _hiprofit = 0.09; Или, если это более сложная инициализация, вы можете сделать это в статическом конструкторе:

   private static double _hiprofit; 
   static ProfitVals() 
   {
      _hiprofit = 0.09;
   }

Первый вариант предпочтительнее, так как последний платит штраф за производительность: http://blogs.msdn.com/b/brada/archive/2004/04/17/115300.aspx

6 голосов
/ 09 марта 2011

Нет, вам нужно будет окружить присваивание свойству фактическим статическим конструктором примерно так:

class ProfitVals
{
    public static double HiProfit { ... }

    static ProfitVals()  // static ctor
    {
       HiProfit = 0.09;
    }
}

Примечание: статический конструктор не может быть объявлен закрытым / открытым и не может иметь параметров.

1 голос
/ 09 марта 2011

Вы почти у цели, вам просто нужно использовать конструктор .

public class ProfitVals {
    private static double _hiprofit;

    public static Double HiProfit
    {
        get { return _hiprofit; }

        set { _hiprofit = value; }
    }

    public ProfitVals() {
        // assign default value
        HiProfit = 0.09;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...