编译器似乎不知道列表

时间:2015-08-05 14:16:59

标签: c# interface polymorphism

我正在重构代码的日志记录部分,并且遇到了一些我无法解决的问题。

我们有一个接口ILogRecord和一个对象调用LogDataRecord,它实现了另一个接口IUserLog,后者又实现了ILogRecord

我在很多地方使用了以下样式的代码并且工作正常

        LogDataRecord ldr = new LogDataRecord( ... );
        ILogRecord logrecord = ldr;

但我无法理解为什么下面这段代码不满意

        logs = LogHelpers.LoadCSV( ... ));

LoadCSV返回类型为List<LogDataRecord>,日志类型为List<ILogRecord>我已设法通过使用来解决此问题。

        logs = new List<ILogRecord>(LogHelpers.LoadCSV( ... ));

我的假设是编译器无法推断集合的任何基类型,但我不明白为什么它看起来不那么深。

0 个答案:

没有答案