Здравствуйте, Cynic, Вы писали:
C>Во-первых, насколько я понял (и примеры в книге это подтверждают) речь идет только о преобразовании типов ссылок, а не типов самих элементов массивов.
C>Правильно ли я всё понял?
Угу.
C>Во-вторых, речь идет только о преобразованиях поддерживаемых компилятором, а не определенных пользователем, т.е. по сути это касается только преобразований между типами в одной иерархии наследования.
C>В общем то мне нужно ответы на два вопроса:
C>
C> Правильно ли я всё понял?
C> Существует ли способ преобразовать типы элементов двух массивов каким либо более менее автоматическим способом, а не путем написание кода метода выполняющим такое преобразование?
C>
C>Последний вопрос поясню примером:
C>C>class Class1 {}
C>class Class2
C>{
C> public static implicit operator Class2(Class1 other) { ... }
C>}
C>...
C>Class1[] arr1 = new Class1[5];
C>//заполняем массив arr1
C>Class2[] arr2 = arr1; //здесь имеется ввиду не присваивание ссылок, а копирование элементов массива
C>
Я так понимаю, что автоматически будет работать только для иерархий класса -- см.
тут.