Пояснение к коду: Cans
это свойство.Свойства обеспечивают контролируемый доступ к полям класса или структуры (переменным).Они состоят из двух методов, называемых get
для возврата значения и set
для присвоения значения.Свойство также может иметь только получатель или только установщик.
Свойство Cans
сохраняет свое значение в так называемом вспомогательном поле.Здесь m_cans
.Сеттер получает новое значение через ключевое слово value
.
Math.Min(value, 10)
возвращает минимум двух параметров.Т.е., например, если value
равно 8, тогда 8 присваивается m_cans
.Если value
равно 12, тогда 10 присваивается m_cans
.
Вы можете использовать это свойство следующим образом:
var obj = new MyCalss(); // Replace by your real class or struct name.
obj.Cans = 20; // Calls the setter with `value` = 20.
int x = obj.Cans; // Calls the getter and returns 10;
Свойства помогают реализовать принцип Сокрытие информации.
Вы можете легко адаптировать этот пример к своим переменным.Часто переменным уровня класса (полям) предшествует _
, чтобы отличать их от локальных переменных, то есть переменных, объявленных в методах.Свойства записываются в PascalCase.
private static int _skillMax; // Fields are automatically initialized to the default
// value of their type. For `int` this is `0`.
public static int SkillMax
{
get { return _skillMax; }
set {
_skillMax = value;
_skill = _skillMax; // Automatically initializes the initial value of Skill.
// At program start up you only need to set `SkillMax`.
}
}
private static int _skill;
public static int Skill
{
get { return _skill; }
set { _skill = Math.Min(value, _skillMax); }
}