带 {get;} 的 C# 表达式主体与不带 {get;} 的 C# 表达式主体

2023-12-29

由于我不知道适用于此的术语,因此我不确定如何搜索对此的现有评论。

我最近在类似于以下的表达式体上浪费了大量时间:

public SomeListViewModel SearchSomeModel => new ShowSomeViewModel{...};

当我尝试设置如下值时:
SearchSomeModel.Property = 12345;

表现得好像一切都很好。但实际价值从未改变。当我插入 {get;} 时,如下所示:

public SomeListViewModel SearchSomeModel {get;} =  new ShowSomeViewModel{...};

它工作正常。

有趣的是,如果这作为一个普通的 get 开始(带有 get {return ..} ),那么 ReSharper(?) 会提供将其转换为第一个版本。

无论如何,我想了解两者之间的区别(不,不是在 CLR 级别),但只是为了 a)知道如何用适当的术语来引用它们,b)为什么一个有效而另一个只是假装有效。

Thanks!


第一行代码 -

public SomeListViewModel SearchSomeModel => new ShowSomeViewModel{...};

意味着它将创建一个新实例ShowSomeViewModel每次你尝试get it.
它相当于:

public SomeListViewModel SearchSomeModel {
    get {return new ShowSomeViewModel{...};}
}

另一方面

public SomeListViewModel SearchSomeModel {get;} =  new ShowSomeViewModel{...};

表示您正在设置默认值。

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

带 {get;} 的 C# 表达式主体与不带 {get;} 的 C# 表达式主体 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么

随机推荐

  • Wix Bundle源码路径和项目结构

    我正在尝试创建一个引导程序安装程序 它将安装我的应用程序以及运行我的应用程序所需的第三方应用程序 第三方应用程序是一个 exe 包 其中包含许多补充文件 我的问题是 如何将第三方应用程序包含到我的捆绑包中 我是否也必须添加所有补充文件 10
  • 使用nodejs和redis进行发布订阅(node_redis)

    我正在尝试使用 nodejs 和 node redis 构建一个通用的发布 订阅服务器 该服务器接收来自浏览器的带有通道名称的请求 并响应该通道已发布的任何数据 为此 我使用来自浏览器的长轮询请求 并通过在通道上收到消息时发送响应来处理这些
  • Java:int数组用非零元素初始化

    据 JLS 称 int初始化后数组应立即用零填充 然而 我面临的情况并非如此 这种行为首先出现在 JDK 7u4 中 并且也出现在所有后续更新中 我使用 64 位实现 下面的代码抛出异常 public static void main St
  • 在 C 中,const 变量是否保证在内存中不同?

    说到字符串文字 C99 标准规定 6 4 5 6 如果这些数组的元素具有适当的值 则未指定这些数组是否不同 如果程序尝试修改这样的数组 则行为是未定义的 我找不到类似的警告或对 const 变量的明确保证 可以表达一下 x y在上下文中co
  • 如何使用 C# 更好地查询 Active Directory 中的多个域?

    我正在尝试将 LDAP AD 搜索从仅搜索当前登录的域扩展到搜索 AD 中的所有域 该方法接受带有查询的字符串并返回 LDAPInformation 对象 当我问的时候 还有比这种方式更好的搜索名字的方法吗 由于按姓氏查找人员时需要使用通配
  • 在 Hive 中将多列中的列合并为一列

    有没有什么方法可以对 Apache Hive 中的explode 函数执行相反的操作 假设我有一张这种形式的表格id int description string url string 我想从这个表中创建一个看起来像这样的表id int j
  • 返回 R 中每对节点之间的相互节点列表

    我想获得图中每对节点之间相互连接的节点列表 library igraph G lt graph c 1 2 1 3 1 4 2 4 2 3 2 5 3 5 4 5 5 6 5 7 7 8 7 9 directed F plot G 边是无向
  • 找不到调试信息或与 Visual Studio 的不匹配

    我复制了一个现有项目并重命名了该文件夹 现在 当我尝试编译应用程序时出现此错误 调试信息找不到或不匹配 没有加载符号 您想继续调试吗 如果我单击 是 它就会编译并运行良好 但现在我必须处理这个消息 只是好奇我在项目属性中更改了什么以使其停止
  • 扩展 Highmaps 副作用

    我正在尝试创建佛罗里达州的点密度图 虽然我知道 Highmaps 不支持带有地图点的颜色轴 我扩展了它并且它有效 但它带来了副作用 当我单击图例中的某一类别时 不会发生隐藏 例如 如果我单击 gt 10 则所有大于 10 的值都不会隐藏 当
  • 在java中读取进程的实时输出

    我在我的 java 应用程序中启动了一个 python 脚本 Process p Runtime getRuntime exec python script py 该脚本循环运行 并且仅由事件 或用户交互 取消 该脚本在每个循环周期写入输出
  • Windows 7 上的 Glassfish 启动域失败

    我想在 Windows 7 上使用 JAVA 8 JDK 66 启动 Glassfish 4 1 1 Server 但我的命令 asadmin start domain 失败 这似乎是一个不起眼的错误 因为我在命令提示符中收到一条很长的失败
  • 为什么我的 Azure SQL 数据库表永久锁定?

    我有一个独立的 Azure SQL 测试数据库 除了通过 SSMS 的开发计算机和开发 Web 应用程序实例之外 没有任何活动连接 我是唯一一个使用这个数据库的人 我正在一个大约 1M 记录的表上运行一些测试 我们需要在其中执行大量操作UP
  • UIPinchGestureRecognizer 的触摸位置

    我想在我的 iPhone 应用程序中使用捏合手势实现缩放 问题是 在识别手势时调用的方法中 我无权访问触摸事件本身 所以我无法真正获取它们的locationInView 并且我想得到它以便正确地居中我的放大 In the UIPinchGe
  • Spring / Hibernate @Transactional 如果随后进行第二个 @Transactional 调用,则不会刷新事务

    我的 Spring Boot 应用程序有一个奇怪的行为 该应用程序有在视图中打开会话 to false 我有一个控制器和一个服务 公开了 2 个带注释的方法 交易 应用程序属性 spring jpa open in view false 我
  • 警告:隐式声明

    我有一项计算机科学 MOOC CS50 作业需要交 在其中 我必须通过哈佛网站提交作业 但它不会接受我的代码 因为它显示 警告 隐式声明 有办法关闭它吗 我正在使用两个函数 islower and isupper 它们就是导致挂断的原因 我
  • 将 qDateTimeEdit 限制为 15 分钟

    In http qt project org doc qt 5 qabstractspinbox html specialValueText prop http qt project org doc qt 5 qabstractspinbo
  • 如何调整 SQL Azure 数据库的大小

    如何将 SQL Azure Web Edition 5 GB 数据库的大小调整为 1 GB 数据库 我不再需要额外的容量 也不想以更高的费率计费 我在管理门户中没有看到任何内容 快速的网络搜索也没有找到任何结果 我回答过类似的问题here
  • 引发了“Microsoft.WindowsAzure.StorageClient.StorageClientException”类型的异常

    引发了 Microsoft WindowsAzure StorageClient StorageClientException 类型的异常 有时 即使我们的结构正在运行并且角色管理器已启动 我们也会遇到此类异常 代码在以下行处中断 emai
  • 有没有一种简单的方法可以获取 ASP.Net 中的总页面响应时间?

    通常来说 PHP 或其他 Web 框架获取总响应时间很容易 只需在文件顶部启动计时器并在文件末尾停止即可 在 ASP Net 中 有整个页面生命周期 所以我不知道如何做到这一点 我希望此响应时间记录发生在母版页中 并且响应时间显示在页面的页
  • 带 {get;} 的 C# 表达式主体与不带 {get;} 的 C# 表达式主体

    这个问题在这里已经有答案了 由于我不知道适用于此的术语 因此我不确定如何搜索对此的现有评论 我最近在类似于以下的表达式体上浪费了大量时间 public SomeListViewModel SearchSomeModel gt new Sho