Désolé pour le titre, je deviens chèvre.

Habitué au SQL, j'aime utiliser l'opérateur "x between y and z".

J'ai donc développé la méthode d'extension suivante :
Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public static bool IsBetween<T>(this T item, T start, T end)
{
        return Comparer<T>.Default.Compare(item, start) >= 0 && Comparer<T>.Default.Compare(item, end) <= 0;
}

C'est magique, maintenant je peux faire des int.IsBetween(int, int) et des long.IsBetween(long, long)

Mais pas des short.IsBetween(short, short) !

Voici ce qu'il me sort :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Erreur	CS1929	'short' ne contient pas de définition pour 'IsBetween' et la meilleure surcharge de méthode d'extension 'Extensions.IsBetween<int>(int, int, int)' nécessite un récepteur de type 'int'	CRMStationsManager	E:\CRMStationsManager\CRMStationsManager\CRMStationCollection.cs	65	Actif
Pourtant, si je passe la souris sur mla ligne en question, voici ce que j'ai comme aide contextuelle :
Nom : intenshortlong.png
Affichages : 207
Taille : 5,7 Ko

C'est encore mon Visual Studio qui déconne ou quoi ?