Loading...
maya.peneva avatar maya.peneva 18 Точки

C# OOP Advanced -> Reflection-> LAB

Здравейте, 

Имам проблем със задачите от лаба за Reflection - нуливия тест и при 4те минава, но не и теста в Judge. Вероятно е нещо глупаво, но не мога да го видя :( Пробвах всичко, което се сетих, но......

Код: https://pastebin.com/byYuKAc6

Задача: https://softuni.bg/trainings/resources/officedocument/17225/lab-problems-description-c-sharp-oop-advanced-july-2017

Judge: https://judge.softuni.bg/Contests/Compete/Index/710#3

Благодаря!

Тагове:
0
C# OOP Advanced 05/08/2017 23:42:44
VasilValchanov avatar VasilValchanov 555 Точки
Best Answer

 var methodsInfo = this.classType.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

Проблема е тук в this.classType, понеже взимаш вече инстанциран в Spy classType, а метода приема име на клас на което ти трябва да намериш типа (ако има такъв)

Type classType = Type.GetType(className); -> инстанцирай нов тип който приема параметъра който подаваш на CollectGettersAndSetters и ще мине теста!

 

 

0
maya.peneva avatar maya.peneva 18 Точки

Да, това е. Благодаря ти от сърце.

Не разбирам само защо е така. Защо трябва да се инстанцира в самия метод? Така или иначе, инстанцирането не са прави паралелно с ваденето на методите (на същия ред имам предвид).

 

1
VasilValchanov avatar VasilValchanov 555 Точки

Предполагам че judge тества дали използваш параметъра, но само предполагам!

1
gadjov avatar gadjov 115 Точки

Здравей, мисля че грешката ти е в това, че 

this.result.AppendLine($"Class under investigation: {this.classType}");

в плейсхолдъра трябва да ти е стринга на класа който разследваме.

0
maya.peneva avatar maya.peneva 18 Точки

Благодаря, но не е това :(

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.