属性的名称应该与其类型相同吗?

2024-04-02

我有时会看到这样写的代码:

public class B1
{
}

public class B2
{
    private B1 b1;

    public B1 B1
    {
        get { return b1; }
        set { b1 = value; }
    }
}

即类 B2 有一个名为“B1”的属性,该属性也是“B1”类型。

我的直觉告诉我这不是一个好主意,但是是否有任何技术原因导致您应该避免为属性提供与其类相同的名称?

(我正在使用 .net 2.0,以防万一)。


没关系。这里的典型例子是

public Background {
    public Color Color { get; set; }
}

这里会出现一些罕见的问题(极端情况),但不足以保证避免使用此设备。坦白说,我发现这个设备非常有用。我不喜欢无法执行以下操作:

class Ticker { ... }


public StockQuote {
    public Ticker Ticker { get; set; }
}

我不想说Ticker StockTicker or Ticker ThisTicker etc.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

属性的名称应该与其类型相同吗? 的相关文章

随机推荐

  • 使用常量作为 JavaScript 关联数组的索引

    我希望在 JavaScript 中创建一个关联数组 但使用定义为类一部分的常量作为索引 我想要这个的原因是这样类的用户可以使用常量 定义事件 来触发操作 一些代码来说明 STATE NORMAL 0 STATE NEW TASK ADDED
  • 配置 JBoss 使用 JNDI 的问题(2)

    继续上周的问题 配置 JBoss 使用 JNDI 时出现问题 https stackoverflow com questions 2828237 problem configure jboss to work with jndi 我正在尝试
  • 使用运行时参数桥接模板

    我正在处理一个广泛使用模板的第三方 C 库 这使得创建 C API 以便从我的框架中使用它变得困难 抽象问题 假设库提供以下功能 template
  • 在 C 中使用 Doxygen 记录变量

    Code include
  • Reduce 函数不处理空列表

    我之前创建了一个递归函数来查找列表的乘积 现在我创建了相同的函数 但使用reduce功能和lamdba 当我运行这段代码时 我得到了正确的答案 items 1 2 3 4 10 print reduce lambda x y x y ite
  • PyQt5 dbus:强制信号参数的类型签名为字符串数组

    我正在编写一个 MPRIS 播放器 它通过以下方式与客户进行通信 dbus 当我的播放状态发生变化时 我需要发出一个信号 然而 信号需要的格式为 sa sv as 我的代码正在生成 sa sv av 这是重要的部分 self signal
  • 我如何实现苹果推送通知? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是 iPhone 开发新手 我想在我的应用程序中实现推送通知 我对此一无所知 谁给个示例代码 首先 您必须租用或拥有一台服务器 负责
  • Google 404 和 .NET 自定义错误页面

    我有一个带有自定义 404 页面的 ASP NET 2 0 网站 当找不到内容时 站点会提供自定义 404 页面 并添加查询字符串 aspxerrorpath mauro aspx 404 页面本身是由一个HTTP http en wiki
  • 如何在不使用剪贴板的情况下从活动应用程序获取选定的文本

    我在做什么 我的主要目的是使用户友好text to speech供个人在 Win 7 上使用 该方法应该适用于 Google Chrome VS 和 Eclipse 代码示例 Following code creates global ke
  • 在 netezza 中使用左连接进行更新

    我需要在更新期间对 netezza 中的两个表执行左连接 我怎样才能做到这一点 三个表的左连接可以工作 但两个表则不行 UPDATE table 1 SET c2 t2 c2 FROM table 1 t1 LEFT JOIN table
  • 当输入被禁用时,如何更改

    我有一些标签 例如
  • Redux actions/reducers 与直接设置状态

    我是 Redux 新手 我无法理解操作和减速器与直接修改存储的组件的价值 在 Redux 中 您的 React 组件不会直接更改存储 相反 他们发送一个动作 有点像发布一条消息 然后 reducer 处理该操作 有点像消息订阅者 并更改状态
  • 如何让 Angular Material 图标在我的 Angular 应用程序中显示轮廓?

    我目前有
  • Microsoft SQL Server 数据工具包未正确加载

    我的 VS 2013 安装的所有内容似乎都工作正常 除非我右键单击服务器资源管理器中的表 我正在尝试使用数据工具来查看 MS SQL 数据库中的表 这是当我右键单击 VS 2013 时弹出的消息 The Microsoft SQL Serv
  • 在 MySQL 中选择随机行

    我正在开发一个测验网站 并且我有一个存储所有问题的数据库 有不同类型的测验 如数学 科学 历史等 所有问题都存储在一张表中 我的问题表如下所示 questions qno int type int question qno是主键 并且typ
  • 在 C# 中绘制视频

    我正在制作一个应用程序 允许用户应用某些工具来分析视频和图像 我需要帮助 了解如何在表单中加载到 Windows Media Player 的视频上实际绘制 写入并能够将其保存 它需要能够让用户徒手绘制并在其上绘制形状 提前致谢 克里斯 使
  • 如何根据最接近(或最近)的时间戳合并两个数据帧

    假设我有一个数据框 df1 其中包含 A 和 B 列 A 是时间戳列 例如 unixtime B 是某个值的列 假设我还有一个数据框 df2 其中包含 C 和 D 列 C 也是一个 unixtime 列 D 是包含一些其他值的列 我想模糊m
  • 如何从Nuget包中选择目标框架

    我正在使用 NuGet 包 其中包含 2 个目标框架的程序集 net45 和 netstandard1 5 我的项目针对的是net471 因此与netstandard1 5兼容 当我添加包时 它从 net45 文件夹复制 dll 如何强制
  • 如何在 Rails 3 中使用 AJAX 请求实现重定向响应?

    我有一个简单的场景 我想请求一个页面 请求格式为AJAX 如果该请求的控制器 操作逻辑中有一些错误 我想重定向到错误页面 问题是重定向不是 JavaScript 响应类型 所以我不确定它是否有效 如果没有错误 那么我希望通过适当的 Java
  • 属性的名称应该与其类型相同吗?

    我有时会看到这样写的代码 public class B1 public class B2 private B1 b1 public B1 B1 get return b1 set b1 value 即类 B2 有一个名为 B1 的属性 该属