我有一些包含多个字符串的类,我想根据字符串的变化提出不同的事件。这是一个例子
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个字符串,那么该方法永远不会停止。
还有另一种方法吗?
答案 0 :(得分:1)
使用不同预期字符串的字典并进行查找然后吐出结果值
var dict = new StringDictionary();
dict.Add("Text1", "yadayad");
// add the rest
var val = dict[property_name];
if (val != null)
{
Console.WriteLine(val);
}