热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#表达式主体与{get;}vs没有

如何解决《C#表达式主体与{get;}vs没有》经验,为你挑选了1个好方法。

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

我最近浪费了大量时间,表达体类似于:

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

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

它表现得像一切都很好.但实际价值从未改变.当我改为插入{get;}时:

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

它工作正常.

有趣的是,如果这是以正常的get开始(使用get {return ..},那么ReSharper(?)提供将其转换为第一个版本.

无论如何,我想要理解两者之间的差异(不,不是在CLR级别),而只是为了a)知道如何引用其中的每个正确的术语和b)为什么一个有效,另一个只是假装工作.

谢谢!



1> Ofir Winegar..:

第一行代码 -

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

意味着它会在ShowSomeViewModel每次尝试时创建一个新实例get.
它相当于:

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

另一方面

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

表示您正在设置默认值.


推荐阅读
author-avatar
成长的人走在路上_774
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有