Bonjour,
je vous expose mon problème.
J'ai implémenté une méthode, cette méthode possède la signature suivante :
public void InitializeKeys(BindingList<IKey>);
IKey étant une interface simple demandant d'implémentant 3 propriétés
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 :
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
Partager