只写属性有实际应用吗?

2023-11-26

我不知道为什么我开始思考这个问题,但现在我似乎无法停止。

在 C# 中——可能还有很多其他语言,我记得 Delphi 也曾经让你这样做——编写以下语法是合法的:

class WeirdClass
{
    private void Hello(string name)
    {
        Console.WriteLine("Hello, {0}!", name);
    }

    public string Name
    {
        set { Hello(name); }
    }
}

换句话说,该房产有一个setter but no getter, it's 只写.

我想我想不出任何理由为什么会这样illegal,但我从未真正在野外见过它,而且我在野外见过一些非常精彩/可怕的代码。看起来有点代码味道;编译器似乎应该给我一个警告:

CS83417:属性“名称”似乎完全无用且愚蠢。糟糕的程序员!考虑用方法替换。

但也许我做这件事的时间还不够长,或者工作的领域太窄,看不到任何有效使用这种结构的例子。

现实生活中是否存在无法用直接方法调用替换或变得不太直观的只写属性的示例?


代码分析(又名 FxCop)确实可以为您提供诊断:

CA1044:微软设计:因为 属性“WeirdClass.Name”是只写的, 要么添加一个属性获取器 可访问性大于或 等于它的 setter 或转换它 属性转化为方法。

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

只写属性有实际应用吗? 的相关文章

  • java有类似C#的属性吗? [复制]

    这个问题在这里已经有答案了 C 属性 我的意思是 get 和 set 方法 是一个非常有用的功能 java 也有类似 C 的属性吗 我的意思是我们如何在 java 中实现类似以下 C 代码的内容 public string Name get
  • 为什么 java.util.Scanner 类被声明为“final”?

    我用扫描仪类 http docs oracle com javase 6 docs api java util Scanner html用于读取多个相似的文件 我想扩展它以确保它们都使用相同的分隔符我还可以添加类似的方法跳过直到你找到 字符
  • 面向对象设计的良好参考[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何检查 AJAX 请求的真实性

    我正在设计一个网站 让用户尽快解决谜题 JavaScript 用于为每个谜题计时 当谜题完成时 毫秒数通过 AJAX 发送到服务器 如何保证服务器收到的时间不是用户伪造的 我不认为基于会话的真实性令牌 Rails 中用于表单的那种 就足够了
  • 可以在一堂课上延长两堂课吗? [复制]

    这个问题在这里已经有答案了 可能的重复 我可以在 PHP 中使用多个类来扩展一个类吗 https stackoverflow com questions 356128 can i extend a class using more than
  • getter 和 setter 的目的? [复制]

    这个问题在这里已经有答案了 可能的重复 公共数据成员与 Getters Setters https stackoverflow com questions 2977007 public data members vs getters set
  • python编写的类爬虫抛出属性错误

    用 python 编写一些代码后 我陷入了深深的麻烦 我是按照 Python 中的 OOP 设计编写代码的新手 我在代码中使用的 xpath 是完美的 当通过 page crawler 类的实例运行 info grabber 类中的 pas
  • 为什么Java不支持C中的clrscr这样的函数?

    我有一个问题 对很多人来说可能听起来很愚蠢 但我不能停下来把它发布在这里 因为在互联网上找不到任何东西 为什么java没有我们在C中使用的clrscr之类的函数 如果我创建了一个基于用户输入反复迭代的 java 控制台应用程序 然后如果我想
  • 如何使用 php __toString

    有什么用途 toString in PHP 例如 我有一个函数 例如 在一个名为 person 的类中 public function construct id name this gt id id this gt name name an
  • 如何知道您的单元测试装置是否“尺寸合适”?

    您如何知道 测试夹具 的尺寸是否合适 我所说的 测试夹具 是指一个包含大量测试的类 我在测试装置中一直注意到的一件事是它们变得有点冗长 鉴于它们也可能不够详细 您如何了解单元测试的大小是否合适 我的假设是 至少在 Web 开发的背景下 您应
  • 如果我们在实体类的getter和setter中添加逻辑是不是不好的设计

    JAVA 8 我有一个 POJO 类 class User private String name private String password Getters Setters 我将使用它作为实体类 在 getter setter 中pa
  • 有哪些学习线程编程的好资源? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 随着多核CPU在桌面上的兴起 多线程技能将成为程序员的宝贵资产 您能为想要学习线程编程的程序员推荐一些好的资源 书籍 教程 网站等 吗 看
  • 从函数体内访问函数对象的属性

    JavaScript 中的函数也是一个对象 并且可以具有属性 那么有没有办法从它自己的函数体内部访问它的属性呢 像这样 var f function console log some way to access f a f a Test f
  • 如何判断 NSObject 是否具有某个属性?

    假设在 Apple API 1 0 版中 有一个 NSFoo 类 其属性为 color API 1 1 添加了属性 size 我想知道是否可以使用 getter myFoo size myFoo respondsToSelector sel
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 奖励*完整*初学者的代码项目[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 为刚接触编程的人提供的课程通常包括一个代码项目 我认为这是一种很好的学习方式 然而 这样的项目往往让人感觉过于做作 因此做起来并没有多大回
  • 我们可以实例化一个抽象类吗?

    在一次采访中 有人问我 我们是否可以实例化一个抽象类 我的回答是 不 我们不能 但是 面试官告诉我 错了 我们可以 我对此争论了一下 然后他告诉我自己在家尝试一下 abstract class my public void mymethod
  • 查找字符串中最常见的子字符串的算法

    是否有任何算法可用于查找字符串中最常见的短语 或子字符串 例如 以下字符串将 hello world 作为其最常见的两个单词短语 hello world this is hello world hello world repeats thr
  • 领域驱动设计与模型驱动架构

    我很好奇 领域驱动设计和模型驱动架构有什么区别 我的印象是他们有某些相似之处 你能启发我吗 Thanks 不要不同意上面的大部分内容 尽管它可能值得稍微扩展一下 DDD 中最重要的一个概念是关注问题域 将对技术的痴迷放在一边 主要集中于对您

随机推荐

  • 在没有错误状态的情况下处理 iteratee 库中的异常

    我正在尝试编写一个枚举器来逐行读取文件java io BufferedReader using Scalaz7 的 iteratee 库 目前仅提供一个 非常慢的 枚举器java io Reader 我遇到的问题与我使用过的所有其他 ite
  • 如何以编程方式将 Flex TextArea 的插入符移动到末尾?

    在添加代码中的一些文本后 我试图将 Flex TextArea 中的插入符号移动到末尾 我查看了 TextArea 及其底层 TextField 的参考文档 但似乎没有提供方法来处理此问题 我尝试过的一种方法是将焦点设置到文本区域并调度 K
  • 旋转和裁剪

    我正在使用 PHP 旋转和裁剪图像 但显示黑色边框 我知道您可以更改背景颜色 但我想旋转和裁剪图像以填充整个图像 基本上类似于background size cover 左 CSS 与background size contain 正确的
  • Python 无法找到 lxml 模块

    我前段时间写了一个脚本 其中包含 from lxml import etree 但是 不幸的是它不再起作用了 如有疑问 我检查了安装 sudo apt get install python lxml sudo pip install lxm
  • 如何配置 iText 支持亚洲字符?

    我的 Java 应用程序使用 iText 创建 PDF 有时内容是亚洲的 这是行不通的 亚洲字符不可见 I found iTextAsian jar在iText下载页面上 但不知道如何使用它 目标是使用我最喜欢的字体作为默认字体 但是 当某
  • SignalR 2.0 超时连接

    我正在使用SignalR 但是存在超时问题 几分钟后超时消失 不起作用 我怎么能够在 SignalR 2 0 中设置超时连接 您可以在 Owin Startup 类中使用以下配置 Make long polling connections
  • 使用其他 Observable 过滤 RxJava Observable

    我正在使用 RxAndroid 2 0 1 和 RxJava 2 0 6 我有两个可观察量 一个返回Maybe
  • onClickListener 和 onItemClickListener 之间的区别

    Android ListViews 中的 onClickListener 和 onItemClickListener 有什么区别 这些有哪些不同的实现 ListView 为列表视图的每一行都有一个 Item Click 侦听器 但 onCl
  • Python 和 Selenium - 当带有换行符的 send_keys() 时避免提交表单

    我在用Python 3与硒 我们假设var whatever nelse 我的问题是当我使用elem send keys var 它在之后发送表格 任何 因为换行符 我如何将 whatever nelse 替换为whatever SHIFT
  • GraphHopper 车辆=汽车可以工作,但步行或自行车不起作用

    我对 GraphHopper 路由引擎稳定版本 0 5 有疑问 我可以在使用时获取路线vehicle car 但这失败了bike and foot 这是一个例子在 GraphHopper 地图上步行大约 3 分钟 这会在地图上产生结果 非常
  • 如何重写祖先的嵌套 Material UI 组件的样式?

    我正在使用外部库中的组件 该组件不允许我更改其大部分样式 但我想更改作为材质 ui 按钮的按钮的样式 在检查元素时 它清楚地显示了类MuiButtonBase root MuiIconButton root MuiIconButton co
  • asp.net-mvc:js文件中的剃刀'@'符号

    我有一个 csHtml razor 文件 其中包含一个 javascript 函数 该函数使用 Url ContentAjax URL 内部的 C 函数 我想将该功能移至 js从我的观点引用的文件 问题是 javascript 不 知道 符
  • OpenCv StereoRectify 中矩阵的精确定义

    通常投影矩阵的定义P是 3x4 矩阵 它将点从世界坐标投影到图像 像素坐标 投影矩阵可以分解为 K 具有内在参数的 3x4 相机矩阵 K T 带有外部参数的 4x4 变换矩阵 那么投影矩阵就是P K T OpenCV 的stereoRect
  • 我可以使用 jquery post 来上传图片吗?

    我正在尝试使用 jquery 来提交我的表单 但它不会触发functions php 文件中的任何内容 我需要对 multipart form data 做一些特别的事情吗 我错过了什么吗 HTML
  • iPhone 动画基于输入值(触摸)而不是时间

    对于完全适合动画组方法的动画效果 如下所示布拉德 拉尔森的回答在这里 我需要动画根据输入进行 特别是触摸和检测到的触摸的位置 处理 TouchMoved 并为每次触摸设置元素的位置很容易 但它不像核心动画方法那样平滑 想象一下有凹槽的轨道上
  • Pandas 删除数据框中指定字符后的字符串部分

    我想要一种简单的方法来删除数据框中特定字符之后的字符串部分 这是一个简化的示例 df obs a b c d 0 1 1 23 12 1 2 3 1 2 12 23 13 4 5 5 2 3 21 23 14 4 5 5 我想删除第一个 符
  • 设置 Google Play 游戏服务

    我最近一直在尝试新的 Google Play 游戏服务 我花了一些时间来设置所有内容以使示例项目运行 主要是因为a犯了很多小错误 因此 我写了一个小清单 这样其他人就不必经历同样的结果 开发很有趣 配置则不然 谷歌对此有一个很好的快速入门
  • 如何管理 ASP.NET WebApi2 中的缓存?

    我已经使用 Web API 2 实现了 REST 服务 该服务的实现是为了管理由访问服务的不同客户端创建和加入的不同会话 会话包含有关应用程序功能访问的信息以及已加入同一会话的参与者的信息 每个客户端每秒从服务器获取会话信息和访问列表以进行
  • Spark 中优雅的 Json 扁平化 [重复]

    这个问题在这里已经有答案了 我在 Spark 中有以下数据框 val test sqlContext read json path path to jsonfiles test printSchema root properties str
  • 只写属性有实际应用吗?

    我不知道为什么我开始思考这个问题 但现在我似乎无法停止 在 C 中 可能还有很多其他语言 我记得 Delphi 也曾经让你这样做 编写以下语法是合法的 class WeirdClass private void Hello string n