DirectoryInfo directory;
public string Name {
get { return this.directory.Name; }
set { this.directory.Name = value; }
}
你好。我在 c# 中有这段代码。它不起作用我收到此错误:
属性或索引器 System.Io.FileSystemInfo.Name 不能分配给 - 它是只读的。
我能做些什么 ?
DirectoryInfo directory;
public string Name {
get { return this.directory.Name; }
set { this.directory.Name = value; }
}
你好。我在 c# 中有这段代码。它不起作用我收到此错误:
属性或索引器 System.Io.FileSystemInfo.Name 不能分配给 - 它是只读的。
我能做些什么 ?
正如编译器所说,DirectoryInfo的继承Name属性是只读的。表述this.directory.Name = value;错误;您不能分配给只读属性。
要使您的类的Name属性为只读,只需完全删除 setter。如果您希望该属性是可写的,那么您需要弄清楚写入您的Name属性意味着什么,并执行任何必要的逻辑来适当地转换对象的状态。
我能想到三种可能:
directory以引用指定目录在不知道您的财产真正要代表什么的情况下,很难真正说出这些选项中的哪一个是合适的(如果有的话)。
DirectoryInfo.Name是只读的,不能修改。您应该将其从代码中删除。然而,如果你想改变一个目录的名字,你可以这样写:
System.IO.Directory.Move("oldDirName", "newDirName");