【问题标题】:why is it that property has to be public if it is a display member如果它是显示成员,为什么它必须是公共的
【发布时间】:2012-01-24 01:16:37
【问题描述】:

我有一个类,其对象属性标记为“内部”。不存在可访问性问题,并且在整个项目中所有成员都可以访问它们。但是,如果我将这些属性中的任何一个设置为任何 GUI 组件的 DisplayMember,则必须将其标记为“公共”才能正常工作。否则,比如说一个列表框,将对象的 ToString() 显示为项目。为什么会这样?

【问题讨论】:

    标签: c# properties public internal


    【解决方案1】:

    可能内置的数据绑定功能仅反映在公共属性上。

    【讨论】:

      【解决方案2】:

      internal 关键字的作用如下: internal 关键字的主要目的是让当前程序集中的每个类都可以访问它。例如,如果您有一个 .dll 文件并将其某些类标记为内部,则只有该 .dll 中的类可以访问它,其他外部程序集或外部程序都不能访问它。如果您在程序集之外使用 GUI,那么您只是违反了 internal 的用途。因此,您必须将该属性成员设为公开。

      虽然我不是 c# 方面的专家,但因为我是一名学生,我建议使用“连接器”类来连接需要访问数据的外部成员,以及用于设置新数据的内部类.

      【讨论】:

      猜你喜欢
      • 2020-04-12
      • 1970-01-01
      • 2013-04-22
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多