04.06.2016 Views

C 4 Developpez des applications windows avec visual studio 2010

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

P.MailServerSettings.HasChanged = true;<br />

P.ProjectSettings.HasChanged = true;<br />

En lançant l’application (F5), l’évènement Changed est levé <strong>avec</strong> comme déclencheur un objet de type<br />

MailServerSettings puis <strong>avec</strong> un objet de type ProjectSettings. Les deux peuvent être convertis en type<br />

IReportChange et les membres qu’ils implémentent sont disponibles à partir du résultat de cette conversion. La boîte<br />

de dialogue qui affiche le type de l’objet Child indique son type d’origine et non le type IReportChange de la même<br />

façon que pour les classes héritées. Cela signifie qu’un objet du type d’une interface peut faire référence à n’importe<br />

quelle instance d’objet dont le type implémente cette interface.<br />

3. L’héritage d’interfaces<br />

Comme les classes, les interfaces peuvent hériter d’une autre interface. Créez une nouvelle interface nommée<br />

IReportChildrenChange et faites­la hériter de l’interface IReportChange. Créez le membre ChildChanged de l’interface<br />

IReportChange vers l’interface IReportChildrenChange. Vous devriez obtenir l’interface suivante :<br />

interface IReportChildrenChange<br />

{<br />

void ChildChanged(object sender, EventArgs e);<br />

}<br />

Comme l’interface IReportChildrenChange hérite de l’interface IReportChange, elle contient tous les membres de<br />

l’interface parente.<br />

Cette nouvelle interface est <strong>des</strong>tinée aux classes qui implémentent l’interface IReportChange et qui ont <strong>des</strong> variables<br />

qui l’implémentent aussi. Elle oblige l’ajout de la méthode ChildChanged pour traiter les évènements Changed de ses<br />

membres. La classe Project doit donc être modifiée pour implémenter cette interface :<br />

public class Project : IReportChildrenChange<br />

© ENI Editions - All rigths reserved - Algeria Educ<br />

- 3 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!