5
委託人有自己的參考方法嗎?我正在尋找一種方式來做到這一點:委託人參考本身
delegate void Foo();
list<Foo> foos;
void test() {
list.Add(delegate() {
list.Remove(/* this delegate */);
});
}
委託人有自己的參考方法嗎?我正在尋找一種方式來做到這一點:委託人參考本身
delegate void Foo();
list<Foo> foos;
void test() {
list.Add(delegate() {
list.Remove(/* this delegate */);
});
}
我不知道你想要做什麼,但它可能代表對引用自身是這樣的:
delegate void Foo();
List<Foo> foos = new List<Foo>();
void test() {
Foo del = null;
del = delegate { foos.Remove(del); };
foos.Add(del);
}
一種方法是委託接受參數本身:
delegate void Foo(Foo self);
...
list.Add(delegate (Foo self) { list.Remove(self);});
...
foreach (Foo f in list) f(f);
另一種方法是給一個變量闖民宅關閉到自身:
Foo foo;
foo = delegate() { list.Remove(foo);}
list.Add(foo);
你到底想用這樣的結構實現什麼? – Oded
不知道我理解你的問題?你只是想從你的'foos'列表中刪除代表? –
@Tony老虎:似乎如此。 – BoltClock