Bonjour,

je vous expose mon problème.

J'ai implémenté une méthode, cette méthode possède la signature suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public void InitializeKeys(BindingList<IKey>);
IKey étant une interface simple demandant d'implémentant 3 propriétés
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public interface IKey {
   string Id { get; set; }
   string Value { get; set; }
   string Description { get; set; }
}
donc voila ou se situe mon soucis, dans un objet héritant de celui implémentant ma méthode InitializeKeys, je fais appel a cette meme méthode.
Alors mon appel, lui passe en argument une BindingList<MotCle>
MotCle implémentant l'interface IKey
possedant bien les propriétés requises :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        #region IKey Members
        string IKey.Description
        {
            get { return this.DescFonc; }
            set { Console.Out.WriteLine("value : " + value); }
        }
 
        string IKey.Id
        {
            get { return this.Id; }
            set { Console.Out.WriteLine("value : " + value); }
        }
 
        string IKey.Value
        {
            get { return "<" + this.CodeFonct + ">"; }
            set { Console.Out.WriteLine("value : " + value); }
        }
        #endregion
et a la compilation ca me dit :
Error 2 Argument '1': cannot convert from 'System.ComponentModel.BindingList<MotCle>' to 'System.ComponentModel.BindingList<IKey>'
alors il faut ptet savoir que l'objet MotCle est une classe partielle, que dans l'autre classe partielle definissant cet objet, il y a une propriété Id, je me dis qu'il y a ptet un conflit la dessus, mais la definition des propriétés nécessaires a IKey etant bien distinguées par le prefix IKey, je ne vois pas ou est le soucis...et donc...si ca ne marche pas...quel interet de faire des interfaces....?

voila...merci d'avance