2009-11-13 4 views

Répondre

5

Utile lorsque vous avez besoin d'une interface, mais vous devez également extraire le type de données. Exemple simple

public interface IMyShape<T> 
{ 
    T X { get; } 
    T Y { get; } 
} 

public class IntSquare : IMyShape<int> 
{ 
    int X { get { return 100; } } 
    int Y { get { return 100; } } 
} 

public class IntTriangle : IMyShape<int> 
{ 
    int X { get { return 200; } } 
    int Y { get { return 200; } } 
} 

public class FloatSquare : IMyShape<float> 
{ 
    float X { get { return 100.05; } } 
    float Y { get { return 100.05; } } 
} 
+0

Très bon exemple – user196546

2

Les interfaces génériques sont vraiment utiles lorsque vous voulez paramétrer les types de l'un des membres de l'interface. Considérons les interfaces IEnumerable et IEnumerable<T>. La première itère Objects tandis que la seconde itère les instances de l'argument de type fourni pour T. Comme les interfaces peuvent être génériques, elles vous permettent de tirer parti de leur flexibilité tout en tirant parti des génériques comme vous le feriez pour un type concret.