こんにちはなぜこのコードが私を例外にするのだろうか。イベントの値が変更されました
namespace Test_Inotify
{
class Test_Onchange
{
private int value;
private object _lock = new object();
/*removed private object _lock;*/
public event System.EventHandler ValueChanged;
protected virtual void OnValueChange()
{
lock (_lock)
{
if (ValueChanged != null)
ValueChanged(this, EventArgs.Empty);
}
}
public int Value
{
get { return this.value; }
set
{
this.value = value;
OnValueChange();
}
}
}
}
とフォーム
namespace Test_Inotify
{
public partial class Form1 : Form
{
Test_Onchange ValueClass ;//ForceValue removed;
public Form1()
{
InitializeComponent();
/* Test_Onchange removed*/ ValueClass = new Test_Onchange();
ValueClass.ValueChanged += new EventHandler(EventValueChanged);
for (int i = 0; i < 10; i++)
{
Random Rndvalue = new Random();
int RandVal = Rndvalue.Next(0, 100);
ValueClass.Value = RandVal;
System.Threading.Thread.Sleep(500);
}
}
private void EventValueChanged(object sender, EventArgs e)
{
int valueforce = ValueClass.Value; /*removedForceClass.Value;*/
MessageBox.Show("Event raised"+valueforce);
}
}
}
私はそれがEventValueChangedでだと思う....が、私は値では何も変更しない、私はローカル変数にコピーします。
誰でも私を助けることができますか?
Test_Onchange ForceClass = new Test_Onchange();
ForceClass.ValueChanged += new EventHandler(EventValueChanged);
と
ForceClass.Value = RandVal;
あなたはForceClassとValueClassを持っていない理由:このことについてどのように
例外はありますか? – Martheen
ようこそStackOverflowへ!何が例外がスローされたのか_where_を教えてください。例外に_message_があります。これは通常何がうまくいかなかったかを示し、_stack trace_はどこに通知します。 –
[NullReferenceExceptionとは何か、それを修正するにはどうすればいいですか?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) ) –