نوشته شده توسط
smt1383
می خواستم بدانم اینگونه الگوریتم ها که ...... نام و عنوان خاصی دارند؟
نمیدونم ... من همینجوری این به فکرم رسید نوشتم ...
نوشته شده توسط
smt1383
آیا منبعی برای توضیحات کامل تر برای این نوع برنامه ها سراغ دارید؟
از اونجایی که نمیدونم اینگونه برنامه ها چی هستن پس نه ... اینجا a_Changed() در واقع یه event handler سادس ... کاملترش میشه اینجوری ...
public enum Steps
{
A = 1,
B,
C,
D
}
public class MyData
{
public Steps Step { get; set; }
private int _a;
private int _b1;
private int _b2;
public delegate void ValueChangedEventHandler(object sender, EventArgs e);
public event ValueChangedEventHandler PropertyValueChanged;
public int a
{
get { return _a; }
set { _a = value; PropertyValueChanged(this, new EventArgs()); }
}
public int b1
{
get { return _b1; }
set { _b1 = value; PropertyValueChanged(this, new EventArgs()); }
}
public int b2
{
get { return _b2; }
set { _b2 = value; PropertyValueChanged(this, new EventArgs()); }
}
}
private void button2_Click(object sender, EventArgs e)
{
MyData data = new MyData();
data.PropertyValueChanged += new MyData.ValueChangedEventHandler(data_PropertyValue Changed);
}
void data_PropertyValueChanged(object sender, EventArgs e)
{
MyData data = sender as MyData;
switch (data.Step)
{
case Steps.A:
if (data.a == 10) data.Step = Steps.B;
break;
case Steps.B:
if (data.b1 == 20 && data.b2 == 30)
data.Step = Steps.C;
break;
case Steps.C:
break;
case Steps.D:
break;
}
}
البته این به حالت کلیه ... میتونین برای هر متغیر یه event جداگانه تعریف کنین ...