如何引用ICollection属性?

时间:2017-05-27 00:01:46

标签: c#

我在两个对象之间进行映射功能。我没有使用任何外部库的原因,因为我只需要映射一次。

所以我的对象Project映射到对象Template。 对象'项目'具有名为ProjectPhases和对象'模板'的子实体的虚拟ICollection。具有名为TemplatePhases的子实体的虚拟ICollection。

每当我尝试将以下内容等同时,

Template.TemplatePhases.someProperty = Project.ProjectPhases.someProperty

我收到错误' ICollection'不包含某些属性的定义'。我知道这个问题是因为它是一个集合,但我该如何解决呢?

1 个答案:

答案 0 :(得分:-1)

  

我收到错误'ICollection'不包含'someProperty'的定义。

这是因为您正在公开的集合类型是ICollection,它对集合中的对象类型一无所知。

最好使用ICollection<T>

转移到类型安全的集合

变化:

class Project
{
  public ICollection ProjectPhases {get; set; }
}

...为:

class Project
{
  public ICollection<Template> ProjectPhases {get; set; }
}