接口如何替换类?

Pre*_*rem 0 c# generics ilist interface list

我创建了一个名为的方法GetStudentMarks().这种方法的返回类型是通用的List<StudentMark>.即使我List<StudentMark>用泛型替换了代码也能很好地工作IList<StudentMark>.当接口只包含声明时,接口如何替换类?

Bas*_*ter 5

接口不能替换类.它只是一个类的蓝图,它具有一些与接口设置的指南相对应的实现.因此,您通常会有一个接口,而不是一个或多个类,这些接口具有一些实现,如下所示:

public interface IMyInterface{
 IList<string> SomeList { get; }
}

public class MyClass : IMyInterface {
  public IList<string> SomeList {
    get { 
      return new List<string>(){ "a", "b" , "c" }; 
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • +1,虽然"合同"一词更为确定.接口承诺对象可以执行某种方法. (3认同)