Une tâche de routine récurrente que je souhaite résoudre à l'aide de PostSharp est l'abonnement à un événement et l'ajout de collection. Je voudrais inscrire la procédure d'objet parent à l'événement de chaque objet enfant (les enfants sont contenus dans une liste). Je voudrais également ajouter toutes les listes du parent à une liste principale sur le parent. Quel aspec shuld je utilise ou dans quelle direction devrais-je penser?PostSharp - automatisation de l'ajout et de la collecte d'événements
exemple du problème décrit ci-dessus est indiqué ci-dessous ...
je l'interface suivante:
public interface ITraceable
{
IList Children {get;set;}
ChangeStatus Status {get;set;}
bool IsTraceEnabled {get;set;}
event EventHandler ChangeHandler
}
Avec les types de statut folowing:
public enum ChangeStatus
{
New,
Modified,
Added,
Deleted
}
La structure et la mise en œuvre de ce qui précède est:
public class Entity : ITraceable
{
public event EventHandler {get;set;}
public IList Children {get;set;}
public ChangeStatus Status {get;set;}
public bool IsTraceEnabled {get;set;}
public string Name {get;set;}
public string Address {get;set;}
public string Title {get;set;}
public List<ChildEntity1> ChildEntities {get;set;}
public List<ChildEntity2> ChildEntities {get;set;}
public void SubscribeableSub(object sender, EventArgs e)
{
Console.WriteLine("Test");
}
}
public class ChildEntity1 : ITraceable
{
public event EventHandler {get;set;}
public IList Children {get;set;}
public ChangeStatus Status {get;set;}
public bool IsTraceEnabled {get;set;}
public string Name1 {get;set;}
public string Address1 {get;set;}
public string Title1 {get;set;}
}
public class ChildEntity2 : ITraceable
{
public event EventHandler {get;set;}
public IList Children {get;set;}
public ChangeStatus Status {get;set;}
public bool IsTraceEnabled {get;set;}
public string Name2 {get;set;}
public string Address2 {get;set;}
public string Title2 {get;set;}
}
Merci à advandce pour toute assistance