Mam pewien problem. Zastanawiam się w jakiej sytuacji należy uciekać się do zastosowania delegatów w C#?
Czy dobrym zastosowaniem byłoby informowanie z poziomu klasy, zewnętrznej metody o stanie np odtwarzania muzyki? Dla przykładu załóżmy że mamy dwa zdarzenia: PlayLoop i Stop wtedy teoretycznie możemy zrobić tak:
if (StopPlay)
Stop(this,new MusicEvent("Player nie odtwarza"));
else
{
PlayTime++;
if (PlayTime != Time)
{
PlayLoop(this, new MusicEvent("Trwa odtwarzanie!"));
}
Korzystam tutaj przy okazji z klasy EventArgs.
Druga sprawa, słyszałem kiedyś że delegaty deklarujemy poza klasą. Jednak po pierwsze w moim przykładzie się to nie kompiluje a po drugie w moich źródłach papierowych są deklarowane w klasie:P