Önleme aynı Olay işleyicisi atama birden çok kez
Bir olay işleyicisi zamanında atıyorum ve birden çok kez çağrılabilir bir noktada olduğunu, aynı olay için aynı işleyici birden fazla atamaları önlemek için önerilen bir uygulamadır.
object.Event = MyFunction
Bir kez daha çağrılacak bir yerde bu ekleme yürütecek işleyicisi 'n' kere (tabii ki).
Üzerinden eklemek için denemeden önce herhangi bir önceki işleyicisi kaldırılması için başvurdu
object.Event -= MyFunction;
object.Event = MyFunction;
Bu işleri ama bir şekilde görünüyor. Bu senaryonun herhangi bir uygun kullanma önerileri;).
CEVAP
Baget açıkça uygulanan bir olay hakkında doğru açık arabirim uygulaması ve tam olay sözdizimi orada bir karışım yok, ancak). Muhtemelen buradan alabilirsiniz:
private EventHandler foo;
public event EventHandler Foo
{
add
{
// First try to remove the handler, then re-add it
foo -= value;
foo = value;
}
remove
{
foo -= value;
}
}
Bu hiç veya çok noktaya yayın delegeler ekleyip biraz garip kenar durumlarda olabilir, ama bu pek mümkün değil. Ayrıca olayları normal bir şekilde değil, dikkatli belgelerine ihtiyacı var.
birden çok olay aynı fonksiyonu tetikl...
bir WordPress kullanmak: aynı olay içi...
Aynı sayfada jQuery birden çok sürümün...
Vim içinde nasıl etkin bir şekilde bir...
Neden ve Nasıl Olay İşleyicisi bellek ...