Soyut sınıfımda soyut bir yöntem dinleyebilir ve bu yöntem çağrıldığında bir olayı tetikleyebilir miyim? Evet ise nasıl?Soyut bir yöntem nasıl dinlenir?
5
A
cevap
2
Aslında soyut bir yöntem her zaman için geçerli değildir ve bir uygulama için geçersiz kılma çağrısının base.Method()
olduğunu garanti etmez.
En iyi bahis olayı harekete geçiren bir sanal yöntem oluşturmak ve daha sonra yöntem çağrısı müdahale istiyorsanız tüm geçersiz kılmaları base.Method()
diyoruz yapmaktır, here o nasıl yapılacağı hakkında bir sorudur.
3
3
Bunu yapmanın en iyi yoludur:
birisi bunu yürütmek amacıylaDoOuter()
aramak zorunda doInner aramak istiyor
public abstract class MyClass {
public void DoOuter() {
FireEvent();
DoInner();
}
protected abstract void DoInner();
}
. İşlev belirtmek için DoInner()
geçersiz kılın. FireEvent()
, her zaman DoInner()
işlevselliği belirtilirse her zaman çağrılır. Bu, doğrudan karşı karşıya kalamayacağınız bir çocuk dersi tarafından çağrılmadıkça.
Bu aslında bir C# sorusu, bu yüzden cevabı biraz düzenliyorum, ancak ana fikir doğru. – StriplingWarrior
D'oh. Teşekkürler, StriplingWarrior. – DJClayworth