【发布时间】:2014-01-23 11:50:02
【问题描述】:
我有几个包含多个字符串的类,我想根据字符串的变化引发不同的事件。这是一个例子
class textClass: INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string text1;
public string Text1
{
get { return text1; }
set
{
text1 = value;
NotifyPropertyChanged("Text1");
}
}
private string text2;
public string Text2
{
get { return text2; }
set
{
text2 = value;
NotifyPropertyChanged("Text2");
}
}
//used as notifier when a string changes within this class
private void NotifyPropertyChanged(string info)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (PropertyChanged != null)
handler(this, new PropertyChangedEventArgs(info));
}
}
所以在我的主课中,如果我使用
txtClass.PropertyChanged += new PropertyChangedEventHandler(txtClass_PropertyChanged);
我如何不使用“if”语句来评估字符串:
static void txtClass_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "Text1")
Console.Write("yadda yadda1");
if (e.PropertyName == "Text2")
Console.Write("yadda yadda2");
}
如果我有 70 或 80 个字符串,该方法将永远不会停止。
还有其他方法吗?
【问题讨论】:
标签: c# properties inotifypropertychanged