在.net中,这是IEnumerable
和IEnumerable<T>
的定义方式。如果您定义类似这样的内容(例如IMyInterface和IMyInterface),您会收到警告,要在方法前添加new
,这是怎么回事?
(我知道要实现我必须明确地实现它,我只是询问definign接口,即使没有实现)
public interface IEnumerable
{
IEnumerator GetEnumerator();
}
public interface IEnumerable<out T> : IEnumerable
{
IEnumerator<T> GetEnumerator();
}
实施例
public interface IMy
{
IQueryable GetAll();
}
public interface IMy<T> : IMy
{
IQueryable<T> GetAll();
}
答案 0 :(得分:0)
public interface IEnumerable<out T> : IEnumerable
{
// Returns an IEnumerator for this enumerable Object. The enumerator provides
// a simple way to access all the contents of a collection.
/// <include file='doc\IEnumerable.uex' path='docs/doc[@for="IEnumerable.GetEnumerator"]/*' />
new IEnumerator<T> GetEnumerator();
}
如果让Visual Studio为它创建存根,它确实没有new
关键字。这取决于你。