也许我在最新版本的 C# 中遗漏了一些东西,但对我来说,这段代码应该不起作用,但它确实起作用了..
public class FileManip {
public FileManip(string path) {
appPath = path;
}
private string appPath {
get;
}
//...............
}
最佳答案
当一个属性有一个带有实现的get
时,你有一个不允许写的属性:
public class FileManip {
public FileManip(string path) {
AppPath = path; // <<===== ERROR
}
private string AppPath {
get { return @"c:\temp\"; }
}
}
然而,当你有一个 { get; }
没有实现,它是一个所谓的只读属性。它已在 C# 6 中添加。您只能从构造函数写入它。您代码的所有其他部分都以只读方式访问此属性。
关于C# 属性 : why does this work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41047208/