ET.*_*ET. 5 c# interface explicit-interface c#-2.0
我相信这很愚蠢,我有点不好意思问这个问题,但我仍然找不到答案:
我正在看List<T>这个实现的课程IList.
public class List<T> : IList
Run Code Online (Sandbox Code Playgroud)
Ilist中包含的方法之一是
int Add(object value)
Run Code Online (Sandbox Code Playgroud)
我明白不List<T>应该暴露那种方法(类型安全...),它实际上没有.但它怎么可能呢?mustnt类实现整个接口?
Fre*_*els 10
我相信这个(接口)方法是明确实现的:
public class List<T> : IList
{
int IList.Add( object value ) {this.Add((T)value);}
}
Run Code Online (Sandbox Code Playgroud)
通过这样做,该Add( object )方法将隐藏.如果将List<T>实例强制转换回实例,则只能调用它IList.