[Homework] [OOP June 2015] Other Types in OOP
Здравейте колеги :)
Интересно ми е някой направи ли вече 4-та задача, че нещо ме тормози.
Това е до където съм я докарал - от ред 150 надолу.
Така написана, компилатора ми дава грешка, че не може да кастне към Version във foreach-а, а при дебъгването в масива от обекти се получават разни странни неща. Когато сложа общо-взето същото в Main метода и сменя само това:
Type type = typeof(Program);
и сложа преди самия клас [Version(0, 2)] всичко работи ок, но идеята е да се вгради в самия GenericList клас, а не в този с Main метода, който в моя случай се казва Program.
Прав си за името и валидациите, оправих ги, но те не влияят на проблема. Кастването така, както е написано, го взех от презентацията по темата и когато го правя в Main метода си работи нормално. Поради някаква причина масива от обекти съдържа точно каквото трябва, ако е в Main метода, a в класа GenericList съдържа един куп глупости, нямащи нищо общо с версията от атрибута. Ако сложа кастване към обект във foreach-а не мога да достъпя стойностите на Major & Minor version. Всъщност към каквото и да ги каствам елементите на масива, не мисля че ще проработи, понеже той не съдържа правилните данни.
Подозирам че този ред предизвиква проблема:
Type type = typeof(GenericList<T>);
но нямам идея защо.
Пуснах програмата. Всъщност ти получаваш правилното инфо, но така направено се появява някакъв DefaultMemberAttribute, който създава проблемите. Във форийча ако направиш проверка дали текущия атрибут е Version ще стане.
Работи, ето как изглежда методът с проверката.