【发布时间】:2018-05-18 04:20:03
【问题描述】:
我有一个实现站点导航的 NavigationModel 类。在内部有一个 NavigationNode 的私有实现,我希望能够在 NavigationModel 中声明它,但不能在它之外声明。我将如何做到这一点?当我执行以下操作时:
public class NavigationModel
{
public List<NavigationNode> NavigationNodes { get; set; }
public NavigationModel()
{
}
private class NavigationNode
{
}
}
物业告诉我:
可访问性不一致:属性类型 “列表”比 属性'NavigationModel.NavigationNodes'
【问题讨论】:
-
为什么不把属性设为私有呢?这么说吧:对于 NavigationModel 之外的任何代码都没有任何意义,那么您打算如何使用它呢?
-
如果 NavigationNodes 仅打算在 NavigationModel 中使用,那么为什么将其标记为公共?如果它打算公开使用,那么只需将 NavigationNode 设为公开
-
NavigationNodes 将用于在视图中动态构建导航菜单。
-
没有回答上述问题。问题的重点是询问您是否打算在您的 NavigationModel 类外部使用 NavigationNodes。
-
我打算使用 NavigationNode 的属性在视图中显示,因此我需要访问这些属性。我希望能够在应用程序中使用导航节点,但不能在 NavigationModel 之外声明它们。
标签: c#