2010-11-10 15 views
0

Je suis confronté à une situation dans laquelle le fichier codebehind d'une page maître ASPX et celui d'une page ASPX normale qui n'utilise pas le maître implémentent une interfaçage. L'implémentation est exactement la même.Comment partager l'implémentation de l'interface

Est-il possible de faire en sorte que les deux développeurs de code partagent la mise en œuvre au lieu de chacun a sa copie de la même implémentation? Si oui, comment dois-je aborder cela?

Merci d'avance pour tout commentaire.

John

Répondre

2

Comment l'utilisation de la composition, sur laquelle les deux, le maître et la page ASPX ont une référence à une classe qui implémente l'interface?

public interface IFace 
{ 
    int MyProperty { get; set; } 
    void MyMethod(string pVariable); 
} 

[Serializable] 
public class ClassA:IFace 
{ 
    public ClassA() 
    { 

    } 

    #region IFace Members 

    public int MyProperty 
    { 
     get 
     { 
      throw new NotImplementedException(); 
     } 
     set 
     { 
      throw new NotImplementedException(); 
     } 
    } 

    public void MyMethod(string pVariable) 
    { 
     throw new NotImplementedException(); 
    } 

    #endregion 
} 

public partial class MasterPage : System.Web.UI.MasterPage 
{ 
    private ClassA IntefaceImplementor = new ClassA(); 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 

public partial class _Default : System.Web.UI.Page 
{ 

    private ClassA InterfaceImplementor = new ClassA(); 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 
+0

c'est ce que j'ai en tête. Des détails? – John