У меня есть программа на C#, как описано ниже. Но это терпит неудачу. Ошибка «System.IO.FileSystemInfo.FullPath» недоступна из-за уровня защиты. И FullPath подчеркивается синим.«System.IO.FileSystemInfo.FullPath» недоступен из-за его уровня защиты »ошибка в C#
protected void Main(string[] args)
{
DirectoryInfo parent = new DirectoryInfo(@"C:\Users\dell\Desktop\rename");
foreach (DirectoryInfo child in parent.GetDirectories())
{
string newName = child.FullPath.Replace('_', '-');
if (newName != child.FullPath)
{
child.MoveTo(newName);
}
}
}
Возможно, вы имели в виду u se FullName, а не FullPath. FullPath - это защищенное поле, оно не предназначено для использования таким образом. См. Http://msdn.microsoft.com/en-us/library/ms173121.aspx для объяснения модификаторов доступа. А для полей/свойств FileSystemInfo ссылайтесь на это: http://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.aspx –
Спасибо за вашу помощь :) Я изменил его на FullName, и я заменил " public static "to" protected ". Он работает сейчас. Я закрываю этот вопрос. Еще раз спасибо :) – cethint
Вы всегда можете увидеть, защищено ли поле, частный ect. нажав F12. // Сводка: // Предоставляет базовый класс для объектов System.IO.FileInfo и System.IO.DirectoryInfo //. [Serializable] [ComVisible (истина)] общественного абстрактного класса FileSystemInfo: MarshalByRefObject, ISerializable { // Резюме: // Представляет полный путь к каталогу или файлу. защищенная строка FullPath; –