[问题] 接口实作的问题

楼主: wwe90425 (撒尿牛丸)   2017-01-15 00:34:12
之前看深入浅出c#有提到
如果有继承接口的话,一定要实作接口的方法或属性
但这几天上班看到同事写的程式码时
却发现没有实作接口类别理的方法,却可以顺利compile没报错
想请问一下这是什么原因?
附上程式码:
接口:
public interface IRepository<T> where T : class
{
IQueryable<T> GetAll();
T GetById(int id);
void Add(T entity);
void Update(T entity);
void Delete(T entity);
void Delete(int id);
}
继承接口的类别:
public interface IRepoPostSubDtl : IRepository<T_PostSubDtl>
{
}
另外想请问一下where T : class这是什么意思
请高手帮忙解答,感谢~
作者: vi000246 (Vi)   2017-01-15 01:06:00
因为继承它的也是一个接口 T是泛型 class代表传进来的参数只能是class
作者: jizang (阿鲁米)   2017-01-15 17:31:00
你Code里面继承接口的不是类别,仍然是一个接口...
作者: ryan10328 (大鸟)   2017-01-26 20:23:00
那个叫做泛型约束条件
作者: Litfal (Litfal)   2017-01-27 10:22:00
接口继承接口通常用"扩充"这个词 比较简单易懂
作者: reichs   2017-01-28 17:43:00
class应该是约束T必须是参考型别,struct则是实值型别.

Links booklink

Contact Us: admin [ a t ] ucptt.com