ricklekebekoi
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
6 août 2007 à 15:13
Visiblement, poster une question a la fin d'un topic noté comme résolu, c'est pas une bonne idée. Je resposte donc ma question. Je doit gérer l'appel a mon dictionnary, retournant la valeur si la KEY existe, et retournant une valeur par défaut si la KEY n'existe pas. Parcontre, je suis tout embrouillé avec l'interface, le static et le généric. Ce que jai tenté va comme suit, mais ne fonctionne pas (et ça je m'en doutais avant la compilation)
ICookingEntry<T>
=
public
interfaceICookingEntry<T>
{
static T DefaultEntry
{
get;
}
}
=
CookingDico<T,U> : Dictionnary<T,U>
=
publicclassCookingDico<TKey, TValue> : Dictionary<TKey, TValue>
where TValue : ICookingEntry<TValue>
{
publicnew TValue this[TKey value]
{
get
{
if ( ContainsKey( value ) )
returnbase[value];
else
return ( (ICookingEntry<TValue>)TValue ).DefaultEntry;
}
}
}
En effet, il me semblait bien que mettre un membre static a une interface était étrange ... et que la ligne
return ( (ICookingEntry<TValue>)TValue ).DefaultEntry;
Était d'autant plus étrange.
Comment devrais-je faire le tout ???
Eric