Collection <T>与List <T>在界面上应该使用什么?

代码如下所示:


namespace Test

{

    public interface IMyClass

    {

        List<IMyClass> GetList();

    }


    public class MyClass : IMyClass

    {

        public List<IMyClass> GetList()

        {

            return new List<IMyClass>();

        }

    }

}

当我运行代码分析时,我得到以下建议。


警告3 CA1002:Microsoft.Design:将“ IMyClass.GetList()”中的“列表”更改为使用Collection,ReadOnlyCollection或KeyedCollection


我应该如何解决这个问题?这是什么好的做法?


繁花如伊
浏览 1019回答 3
3回答

缥缈止盈

我个人会声明它返回一个接口,而不是一个具体的集合。如果您确实想要列表访问,请使用IList<T>。否则,请考虑ICollection<T>和IEnumerable<T>。
打开App,查看更多内容
随时随地看视频慕课网APP