У меня есть свойство типа IEnumerable<SomeClassIWrote>
в пользовательском элементе управления. Когда я использую этот элемент управления в графическом интерфейсе, файл .Designer.cs содержит строку:
theObject.TheProperty = new SomeClassIWrote[0];
Что по какой-то причине вызывает предупреждение компилятора:
Object of type 'SomeClassIWrote[]' cannot be converted to type
'System.Collections.Generic.IEnumerable`1[SomeClassIWrote]'.
Что для меня загадка, потому что я передаю массивы как IEnumerables все время, а компилятор никогда не жаловался.
Для чего бы то ни было, у меня для свойства задано значение по умолчанию, равное null, но я получил ту же ошибку, прежде чем установить значение по умолчанию.
Как я могу это исправить, чтобы Visual Studio не жаловался и не просил меня игнорировать и продолжать каждый раз, когда я запускаю конструктор?
код объекта недвижимости:
[DefaultValue(null)]
public IEnumerable<SomeClassIWrote> TheProperty {
get {
return _theProperty;
}
set {
if (value == null) {
_theProperty = new SomeClassIWrote[] { };
}
else {
_theProperty = value;
}
}
}