也许在最新版本的C#中我错过了一些东西,但对我来说,这段代码不应该有效..
public class FileManip {
public FileManip(string path) {
appPath = path;
}
private string appPath {
get;
}
//...............
}
答案 0 :(得分:8)
当某个属性的get
具有实现时,您有一个不允许写入的属性:
public class FileManip {
public FileManip(string path) {
AppPath = path; // <<===== ERROR
}
private string AppPath {
get { return @"c:\temp\"; }
}
}
但是,如果{ get; }
没有实现,那么它就是一个所谓的只读属性。它已在C#6中添加。您只能从构造函数中写入它。代码的所有其他部分都以只读方式访问此属性。
答案 1 :(得分:1)
可以从您正在执行的构造函数中设置只读属性。
答案 2 :(得分:0)
您可能希望将其更改为
private const string appPath = "something";