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

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(使用前将#替换为@)

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

  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 使用valgrind进行GDB远程调试

    如果我使用远程调试gdb我连接到gdbserver using target remote host 2345 如果我使用 valgrind 和 gdb 调试内存错误 以中断无效内存访问 我会使用 target remote vgdb 启动
  • IQueryable 单元或集成测试

    我有一个 Web api 并且公开了一个端点 如下所示 api 假期 name name 这是 Web api 的控制器 get 方法 public IQueryable
  • 为什么从字典中获取时会得到 Action<> 的克隆?

    我有以下字典 private Dictionary
  • 为什么这个二维指针表示法有效,而另一个则无效[重复]

    这个问题在这里已经有答案了 这里我编写了一段代码来打印 3x3 矩阵的对角线值之和 这里我必须将矩阵传递给函数 矩阵被传递给指针数组 代码可以工作 但问题是我必须编写参数的方式如下 int mat 3 以下导致程序崩溃 int mat 3
  • 为什么我的单选按钮不起作用?

    我正在 Visual C 2005 中开发 MFC 对话框应用程序 我的单选按钮是 m Small m Medium 和 m Large 它们都没有在我的 m Summary 编辑框中显示应有的内容 可能出什么问题了 这是我的代码 Pizz
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • DataTable.GetChanges() 不断返回 NULL

    我正在尝试获取存在于的所有行allData但不在removeData public static DataTable RemoveDuplicateRows DataTable allData DataTable removeData re
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 实体框架中的“it”是什么

    如果以前有人问过这个问题 请原谅我 但我的任何搜索中都没有出现 它 我有两个数据库表 Person 和 Employee 对每个类型的表进行建模 例如 Employee is a Person 在我的 edmx 设计器中 我定义了一个实体
  • 这个可变参数模板示例有什么问题?

    基类是 include
  • 堆栈是向上增长还是向下增长?

    我在 C 中有这段代码 int q 10 int s 5 int a 3 printf Address of a d n int a printf Address of a 1 d n int a 1 printf Address of a
  • 使用 C 在 OS X 中获取其他进程的 argv

    我想获得其他进程的argv 例如ps 我使用的是在 Intel 或 PowerPC 上运行的 Mac OS X 10 4 11 首先 我阅读了 ps 和 man kvm 的代码 然后编写了一些 C 代码 include
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析
  • 是否可以在不连接数据库的情况下检索 MetadataWorkspace?

    我正在编写一个需要遍历实体框架的测试库MetadataWorkspace对于给定的DbContext类型 但是 由于这是一个测试库 我宁愿不连接到数据库 它引入了测试环境中可能无法使用的依赖项 当我尝试获取参考时MetadataWorksp

随机推荐

  • 使用常量作为 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 的属性 该属