如何在C#6中初始化类的属性

时间:2015-12-01 14:06:06

标签: c# properties initialization c#-6.0

我有一个使用某些服务的课程。我需要在创建类时实例化每个服务。在C#6中,我可以看到两种方法,但我不确定哪种方法是正确的......

protected static SomeServiceType Service => new SomeServiceType();

或者我可以使用autoproperty初始化程序...

protected static SomeServiceType Service { get;} = new SomeServiceType();

每种方法有哪些优点/缺点? 非常感谢

1 个答案:

答案 0 :(得分:8)

我相信

  • 前者(“表情身体成员”)每次阅读该财产时都会调用new SomeServiceType()
  • 后者(“自动属性初始值设定项”)在实例化时将其称为一次,并在每次读取属性时返回创建的实例。

听起来你想要后者。