【发布时间】:2019-01-27 12:53:38
【问题描述】:
两者有什么区别:
public List<MyType> Something{ get; set; } = new List<MyType>();
和
public List<MyType> Something{
get{
return new List<MyType>();
}
//set...
}
背景:
我不确定我在代码中看到的行为。构造函数上有一个服务,但 null 在未来的方法调用中,我假设是该类的同一个实例。
【问题讨论】:
-
投反对票的原因是什么 :) ?直截了当,只包括问题所需的内容,搜索了我能找到的任何内容,但不知道正确搜索的单词。不知道我还能在这里做些什么来使问题变得更好?另外,我在几秒钟内就得到了答案。
-
可能是因为代码没有编译。
'Something.set' must declare a body because it is not marked abstract, extern, or partial -
感谢@fredrik - 我已经更新了 Q 以供未来窥视。
-
您可以通过添加断点轻松调试此行为,此时您应该注意到每次访问 getter 时都会调用
return new List<MyType>();。另外,您应该包括为什么您提出这个问题,我想是因为您可能没有看到列表的内容被保留。 -
我的问题与曾经存在但第二次没有的服务的实例化有关。所以对差异/行为感到困惑。这就是我来这里的原因。感谢您的意见@Igor
标签: c# properties