正如标题所述,propertyList.Add(something)
时我如何解雇财产
所以代码是:
private List<string> _SomeStrings;
public List<string> SomeStrings
{
get
{
return _SomeStrings;
}
set
{
_SomeStrings = value;
}
odAdd //this is what I need but do not know how to do it
}
答案 0 :(得分:1)
您可以使用诸如ObservableCollection之类的内置类型。示例here和here。 MSDN页。
您还可以创建一个新的类,该类从List派生,并重载要挂接的函数。
class ListWithAdd<T> : List<T>
{
public new void Add(T item)
{
base.Add(item);
DoStuff();
}
}
答案 1 :(得分:0)
创建自定义通用列表,创建一个事件,当在列表中添加项目时将触发该事件。
像这样:
namespace ConsoleApplication2
{
public delegate void OnAddEventHandler(object item);
public class AddEventArgs : EventArgs
{
public object item { get; set; }
}
public class MyList<T> : List<T>
{
public event OnAddEventHandler OnAdd;
public new void Add(T item)
{
base.Add(item);
if (OnAdd != null)
{
OnAdd(item);
}
}
}
class Program
{
static void Main(string[] args)
{
MyList<string> lst = new MyList<string>();
lst.OnAdd += (item) => {
Console.WriteLine("new item added: " + item);
};
lst.Add("test");
Console.ReadLine();
}
}
}
这是为您准备的小提琴:https://dotnetfiddle.net/tc5Mq1
答案 2 :(得分:-1)