我是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; }
之间的区别是什么?
答案 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
的所有赋值限制为其包含类的构造函数。