Понедельник, 18 Ноября 2024, 10:37

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Ошибка компиляции
seamanДата: Четверг, 21 Июля 2011, 19:30 | Сообщение # 1
старожил
Сейчас нет на сайте
Есть класс дерева:
Code
public class Tree<T> where T : class

В нем метод получения поддерева:
Code
    public Tree<T> GetSubTree(TreeNode<T> child)


Есть производный от него класс дерева костей:
Code
public class TreeBone : Tree<Bone>

который уточняет параметр класса и добавляет несколько методов, которые не зная параметр просто невозможно написать.
В нем в одном из методов получаем поддерево и пытаемся преобразовать в дерево костей:
Code
            TreeBone temp = (TreeBone) GetSubTree(child)

VS и MonoDevelop эту строчку спокойно компилируют. Юнити на нее ругается:
Quote
InvalidCastException: Cannot cast from source type to destination type.

Т.е. не может преобразовать тип из Tree<T> в TreeBone

Вопрос - почему? И что делать? Не писать же массу классов на все возможные случаи деревьев?

Добавлено (21.07.2011, 19:30)
---------------------------------------------
В-общем не парьтесь. Похоже я просто не понимаю как использовать обобщенные классы. Сейчас я все переделал совсем по другому. Все пока работает.
Если кто видел хорошее описание этих самых обобщенных классов - дайте плиз ссылку - почитаю.

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг