{get; set;}和{get;私人套装;}?

时间:2017-09-24 10:26:12

标签: c#

我是C#的新手,但我使用了foreach (var entityTypeInfo in _dbContextEntityFinder.GetEntityTypeInfos(dbContextType)) { // ... iocManager.IocContainer.Register( Component .For(genericRepositoryType) .ImplementedBy(implType) .Named(Guid.NewGuid().ToString("N")) .LifestyleTransient() } 并在其他人编写的一些早期代码中找到了此{get; set;}

这到底是什么意思?而{get; private set}{ get; set; }之间的区别是什么?

1 个答案:

答案 0 :(得分:11)

写作时

public int MyProperty {get; set;}

getter setter具有MyProperty的可访问性,在这种情况下为public。当你写

public int MyProperty {get; private set;}

只有getter保持public,而setter变为private。此方法用于创建只能从类内部编写的属性。

新版C#为您提供了一个密切相关的构造

public int MyProperty {get;}

可让您将属性设为只读。这与{get;private set;}类似,但此外它将MyProperty的所有赋值限制为其包含类的构造函数。