C# YamlDotNet反序列化接口列表

C# YamlDotNet反序列化接口列表,c#,list,deserialization,yamldotnet,C#,List,Deserialization,Yamldotnet,我必须用接口集列表反序列化类。我不能用字典来做这件事!我的YAML文件可以是我想要的任何东西。项目: public class Configuration : IConfiguration { public string Description { get; set; } public string Name { get; set; } public List<ITask> Tasks { get; set; }

我必须用接口集列表反序列化类。我不能用字典来做这件事!我的YAML文件可以是我想要的任何东西。项目:

    public class Configuration : IConfiguration
    {
        public string Description { get; set; }
        public string Name { get; set; }
        public List<ITask> Tasks { get; set; }
    }

   public class Task : ITask
{
    public string Type { get; set; }
    public string Description { get; set; }
}

 public interface ITask
{
    public string Type { get; set; }
    public string Description { get; set; }
}
公共类配置:IConfiguration
{
公共字符串说明{get;set;}
公共字符串名称{get;set;}
公共列表任务{get;set;}
}
公共类任务:ITask
{
公共字符串类型{get;set;}
公共字符串说明{get;set;}
}
公共接口ITask
{
公共字符串类型{get;set;}
公共字符串说明{get;set;}
}
我的尝试:

var ymlList = @"
        description: Opis z deserializacji
        name: Imie z deserializacji
        tasks: [type: typ pierwszy z deserializacji, description: opis pierwszy z deserializacji]";

        var deserializer = new DeserializerBuilder()
        .WithNamingConvention(CamelCaseNamingConvention.Instance)
        //.WithTagMapping("!conf",typeof(Configuration))
        .Build();

        //yml contains a string containing your YAML
        var p = deserializer.Deserialize<Configuration>(ymlList);
        Console.WriteLine("Opis: " + p.Description + "\nName:  " + p.Name + "\nTasks:  " + p.Tasks);
var ymlList=@”
描述:Opis z反序列化
名称:Imie z deserializacji
任务:[类型:typ pierwszy z deserializacji,描述:opis pierwszy z deserializacji]”;
var deserializer=新的DeserializerBuilder()
.WithNamingConvention(CamelCaseNamingConvention.Instance)
//.WithTagMapping(“!conf”,类型(配置))
.Build();
//yml包含一个包含YAML的字符串
var p=反序列化器。反序列化(ymlList);
Console.WriteLine(“Opis:+p.Description+”\n名称:+p.Name+“\n任务:+p.Tasks”);
你知道吗?我在YamlDotNet的github找到了一些解决方案,但我没有知识或经验,这对我来说太难了