.NET de Base utilisation de la Configuration à se lier à des Options avec le Tableau

À l'aide de l' .NET de Base Microsoft.Extensions.Configuration est-il possible de se lier à une Configuration à un objet qui contient un tableau?

ConfigurationBinder a une méthode BindArray, donc je suppose que cela fonctionnerait.

Mais quand j'ai essayer j'obtiens une exception:

System.NotSupportedException: ArrayConverter cannot convert from System.String.

Voici mon allégée code:

public class Test
{
   private class ExampleOption
   { 
      public int[] Array {get;set;}
   }

   [Test]
   public void CanBindArray()
   {
       //ARRANGE
       var config =
            new ConfigurationBuilder()
            .AddInMemoryCollection(new List<KeyValuePair<string, string>>
            {
                new KeyValuePair<string, string>("Array", "[1,2,3]")
            })
            .Build();

        var exampleOption= new ExampleOption();

        //ACT
        config.Bind(complexOptions); //throws exception

       //ASSERT
       exampleOption.ShouldContain(1);
   }
}
L'exemple de la propriété "Tableau" est un peu difficile pour les explications 😉 je l'ai corrigé mais il y avait déjà une autre réponse et un commentaire qui je ne pouvais pas correct.

OriginalL'auteur Philip Pittle | 2016-06-15