Итак, я пытался узнать C# немного больше, но я столкнулся с стеной, пытаясь понять, как правильно использовать события.Нулевое исключение происходит во время запуска события
Излишне говорить, что я продолжаю получать исключение нулевой ссылки, созданное при запуске события, когда значение, введенное в событие, не равно нулю. Любая помощь приветствуется.
Код:
public delegate void performdespoit(int value);
class Bank
{
private int savingsGoal = 500;
private int balance;
//private int deposit;
public event performdespoit valueChanged;
public event performdespoit savingsReached;
public int Dep
{
set
{
this.balance = value;
this.valueChanged(balance);
if (balance > savingsGoal)
{
this.savingsReached(balance);
}
}
}
}
class Program
{
static void Main(string[] args)
{
Bank Oldman = new Bank();
string str; // holds response from user
int DEP; // holds the value to deposit
do
{
Console.WriteLine("Please enter a numerical value to deposit:");
str = Console.ReadLine();
if (!str.Equals("exit"))
{
DEP = Convert.ToInt32(str);
Oldman.Dep = DEP;
}
} while (!str.Equals("exit"));
}
static void valueChanged(int value)
{
Console.WriteLine("The current balance amount is {0}", value);
}
static void savingsReached(int value)
{
//something
Console.WriteLine("Something happens");
}
}
}
См. Отмеченный дубликат для получения информации о том, как диагностировать «NullReferenceException». Если и когда вы достаточно отлаживали свой код, чтобы опубликовать вопрос, выходящий за рамки простого запроса, как избежать получения «NullReferenceException», пожалуйста, напишите новый вопрос, включая хороший [mcve], который надежно воспроизводит проблему и объясняет, что вы 've сделано, чтобы отладить исключение и какую _специфическую проблему, с которой вы столкнулись, чтобы попытаться решить эту проблему. –
Спасибо за штуку. В моем вопросе четко указывается, почему я задаю этот вопрос в первую очередь. Я не понимал, почему я получаю null refrence, но это из-за моего непонимания из событий. Не из понимания, что означало исключение nullrefrence. Это было просто потому, что я не знал, что вам придется использовать + = для назначения события. – Sage