我有以下类和接口:
public interface IFieldFiller
{
string Content { get; set; }
Boolean Nullable { get; set; }
string Name { get; set; }
}
和
[DataContract]
public class FieldFiller : IFieldFiller
{
[DataMember]
public string Content { get; set; }
[DataMember]
public Boolean Nullable { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public StoredProcedure StoredProcedure { get; set; }
[DataMember]
public string NameSpace { get; set; }
}
然后,我使用以下 Linq 语句来构建这些对象的列表:
Fields = temp.merged_fields.Select(f => new FieldFiller { Name = f.name, NameSpace = f.@namespace, StoredProcedure = new StoredProcedure { Name = f.sproc1.name, Parameters = f.field_params.ToDictionary(p => p.sprocParam.name, p=>p.value)}}).ToList()
我不断收到以下异常:
Error 1 Cannot implicitly convert type 'System.Collections.Generic.List<Services.Data.EmailTemplateAccess.Contracts.FieldFiller>' to 'System.Collections.Generic.List<Services.Data.EmailTemplateAccess.Contracts.IFieldFiller>'
我不明白为什么当 FieldFiller 实现 IFieldFiller 时会出现此错误。我已经验证它们在正确的命名空间中。任何帮助,将不胜感激。