Мне здесь что-то не хватает, я это знаю. Мои личные переменные «не назначены», но из моих (ограниченных) знаний они есть. Что мне не хватает? Я рассмотрел другие подобные вопросы, но я не совсем понимаю ответы (или даже вопросы!). Пожалуйста помоги.Переменная никогда не назначена на C#
public class Weapon
{
private string mName;
private double mRange;
private double mDamage;
public string Name
{
get { return mName; }
set { mName=value; }
}
public double Range
{
get { return mRange; }
set
{
if (value >= 0)
mRange=value;
else
throw new ArgumentException("Invalid Range");
}
}
public double Damage
{
get { return mDamage; }
set
{
if (value >= 0)
mDamage=value;
else
throw new ArgumentException("Invalid Damage");
}
}
public Weapon(string n, double d)
{
n = Name;
d = Damage;
}
public Weapon (string n, double r, double d)
{
n = Name;
r = Range;
d = Damage;
}
Вы ваши операции присваивания обратное. Левая часть - это переменная, которая * получает * значение. Для ex 'n = Name;' должно быть 'Name = n;' –
В вашем конструкторе кажется, что вы должны менять переменные с двух сторон равных знаков ... – LibertyLocked
Конечно, это так просто. Это всегда так. Спасибо :) – lepdeffard