none
ASP.NET MVC DefaultModelBinder и ReadOnlyCollection<T> RRS feed

  • Вопрос

  • Допустим, имеется класс:

    public class SomeClass{
        public ReadOnlyCollection<string> SomeReadOnlyProp { get; }
    
        public SomeClass(IEnumerable<string> initData){
            this.SomeReadOnlyProp = new ReadOnlyCollection<string>((initData ?? new List<string>()).ToList());
        }
    }


    При создании объекта этого класса стандартный DefaultModelBinder попытается проинициализировать доступное только для чтения св-во SomeReadOnlyProp, т.к. по какой-то причине:

    typeof(ReadOnlyCollection<>).IsArray == false

    А на этом завязана одна из внутренних проверок DefaultModelBinder.

    Собственно вопрос: почему typeof(ReadOnlyCollection<>).IsArray возвращает false? Ведь это коллекция, которая внутри содержит список

    4 сентября 2017 г. 19:21

Ответы