2009-11-13 57 views

回答

5

当你需要一个接口时它很有用,但你也需要抽象数据类型。简单示例

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

非常好的示例 – user196546 2009-11-13 06:18:40

2

当您想要参数化接口中某个成员的类型时,通用接口非常有用。考虑IEnumerableIEnumerable<T>接口。第一次迭代Objects,而第二次迭代为T提供的类型参数的实例。

由于接口可以是通用的,它允许您利用其灵活性,同时仍然以具体类型的方式利用泛型。