Я создал Yaml, который выглядит следующим образом:
Directories:
- ./Libraries:
- DLLList.yml
- ./Output:
- None
Теперь я десериализовал этот yaml в список объектов:
List<object> allDirectoriesList = new List<object>();
List<string> allFileNames = new List<string>();
using (var reader = new StringReader(File.ReadAllText("./FileConfig.yml")))
{
allDirectoriesList = deserializer.Deserialize<dynamic>(reader)["Directories"] as List<Object>;
}
foreach (var directory in allDirectoriesList)
{
var directoryAsDictionary = (Dictionary<object, object>)directory;
List<object> list = directoryAsDictionary.Select(kvp => kvp.Value).ToList();
IEnumerable<string> _fileList = list.Select(i => i.ToString());
List<string> fileList = _fileList.ToList<string>();
for (int i = 0; i < fileList.Count(); i++)
{
var x = (string)list[i];
}
}
directory
является объектом типа Dictionaryгде я преобразовал его в список в этой части:
var directoryAsDictionary = (Dictionary<object, object>)directory;
List<object> list = directoryAsDictionary.Select(kvp => kvp.Value).ToList();
Этот list
содержит 1 объект типа string, где хранится имя файла. Но я не могу получить эти строки из объектов. Если я их разыгрываю или конвертирую в ToString (), я всегда получаю "System.Collections.Generic.List`1[System.Object]"
, но в этом случае это должно быть "DLLList.yml"