Lesson 3
Constructing classes
Niente da dire su ereditarietà, le interfacce sono un contratti tra le classi che le implementano (importanti IComparable, IDisposable, IConvertible, ICloneable...). Classi parziali per suddividere le classi su più files (prime fra tutte quelle di designer del Framework).
Generics buoni per ridurre gli errori di run-time e migliorare le performances, nuovi del Framework 2.0, sostituiscono gli Object di uso precedente. Su questi si possono anche definire dei vincoli (implementa un'interfaccia, deriva da una classe specifica, implementazioni di costruttori con meno parametri, essere di un certo value-type o reference-type). Occhio che EventHandler è un nuovo tipo di built-in Generics.
L'evento è un messaggio mandato da un oggetto per segnalare il verificarsi di un'azione. In questa comunicazione è presente un sender e un receiver (il sender non conosce il receiver).
Il delegate è un puntatore a funzione, dichiarato in questo modo:
public delegate void MyEventHandler(object sender, EventArgs e);
Niente da aggiungere per l'aggancio di un evento (basta far eun doppio click da qualche parte per capirlo).
Per creare un evento:
public event MyEventHandler MyEvent;
Per richiamarlo:
if (MyEvent != null) MyEvent(this, EventArgs.Empty);
if (MyHandler != null) MyHandler(this, e);
Gli Attributes per descrivere meglio un po' tutto o per specificare dei privilegi di sicurezza o per dichiarare capacità di far qualcosa.
Nuovo del .Net 2.0 anche il Type Forwarding (muovere un tipo da un'assembly a un altrosenza ricompilare) per mezzo dell'attributo [assembly:TypeForwardedTo(typeof(DestLib.TypeA))]
Technorati tags: [70-536]