나는 속성과 문자열 목록을 채우기 위해 노력하고 있어요

마크 :

나는 여기에 지금까지 내 코드, 속성 이름과 값 목록을 채우기 위해 노력하고 ...

 public class DirPropeties { 
        public string Name { get; set; }
        public string Path { get; set; }
        public string HiddenStatus { get; set; }
    }
    public static List<string> GetDirAttributes(string path, bool IsHidden = true)
    {

        List<DirPropeties> FolderArrayList = new List<DirPropeties>();
        DirectoryInfo di = new DirectoryInfo(path);
        DirectoryInfo[] subdirectories = di.GetDirectories();
        foreach (DirectoryInfo dir in subdirectories)
        {
            if (IsHidden)
            {
                //FolderArrayList.Add(dir.Name);
                FolderArrayList.Add(new DirPropeties { Name = dir.Name });
            }
            else if ((dir.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
            {
                FolderArrayList.Add(new DirPropeties { Name = dir.Name });
            }

        };

        return FolderArrayList;
    }

나는 .... 너무 좋아 호출

  List<string> DirectoryArrayList = new List<string>();
  DirectoryArrayList = BaseDirectory.GetDirAttributes(FileDetailsViewModel.FolderPath, FileDetailsViewModel.AllowHidden);

나는과 같이 속성에 액세스하려고 ...

   if (folderIndex >= DirectoryArrayList.Count) { break; }
   var folder = DirectoryArrayList[folderIndex];
   var label = new Label()
   {
        Text = folder.Name,
        FontSize = 20,
        VerticalTextAlignment = TextAlignment.Center,
        HorizontalTextAlignment = TextAlignment.Center
   };

나는 FolderArrayList의 반환에 다음과 같은 오류가 ...

암시 적으로 'System.Collections.Generic.List'에서 'System.Collections.Generic.List'유형을 변환 할 수 없습니다

그리고 folder.Name에 나는 때라도 오류가 ...

'문자열' '이름'에 대한 정의가 포함되어 있지 않습니다

캔 사람의 도움이 제발 해결하기 위해 내가해야 할 일에 나를 GUID를?

Zer0 :

사용할 필요가 없습니다 List<string>이 코드의 아무 곳은. 변화

public static List<string> GetDirAttributes(string path, bool IsHidden = true)

public static List<DirPropeties> GetDirAttributes(string path, bool IsHidden = true)

또한 변경

List<string> DirectoryArrayList = new List<string>();
DirectoryArrayList = BaseDirectory.GetDirAttributes(FileDetailsViewModel.FolderPath, FileDetailsViewModel.AllowHidden);

var DirectoryArrayList = BaseDirectory.GetDirAttributes(FileDetailsViewModel.FolderPath, FileDetailsViewModel.AllowHidden);

또한이 코드를 향상시킬 수 있습니다

if (IsHidden)
{
   //FolderArrayList.Add(dir.Name);
    FolderArrayList.Add(new DirPropeties { Name = dir.Name });
}
else if ((dir.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
{
    FolderArrayList.Add(new DirPropeties { Name = dir.Name });
}

if (IsHidden || (dir.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
{
    FolderArrayList.Add(new DirPropeties { Name = dir.Name });
}

추천

출처http://43.154.161.224:23101/article/api/json?id=33755&siteId=1