Sie sind auf Seite 1von 4

Zentrum für berufliche Weiterbildung

Programmentwicklung Advanced II
Wiederholungsfragen Reflection & Attributes

1. Aufgabe: Reflection

Ausgangslage ist das Assembly Counter.dll (das Source-File Counter.cs dient nur zur Illustration der
Funktionalität) sowie das Testprogramm CounterDemo.cs.
Counter.dll und CounterDemo.exe liegen im gleichen Directory:

Counter.cs

CounterDemo.cs

(a) Geben Sie die Anweisung zum Kompilieren via Konsole (mittels CS-Compiler csc.exe) von
CounterDemo.cs in der .NET Konsole an (die Konsole ist auf das aktuelle Directory der Dateien gesetzt)

...........................................................................................................................................................................................
...........................................................................................................................................................................................
(b) Schreiben Sie nun das Testprogramm so um, dass es dieselbe Funktionalität mit Reflection ausführt. Sie
dürfen keine Kompilationsabhängigkeiten vom Typ Counter mehr haben. (Methoden siehe Anhang).

Test.cs

Seite 1 von 4 Thomas Kehl


Zentrum für berufliche Weiterbildung

(c) Geben Sie wiederum die Anweisung zum Kompilieren via Konsole (mittels CS-Compiler csc.exe) von
TestReflection.cs an

...........................................................................................................................................................................................
...........................................................................................................................................................................................

(d) Welches sind die Vorteile, welches die Nachteile der Lösung mit Reflection verglichen mit der „klassischen“
Lösung?

...........................................................................................................................................................................................
...........................................................................................................................................................................................
...........................................................................................................................................................................................
...........................................................................................................................................................................................

Seite 2 von 4 Thomas Kehl


Zentrum für berufliche Weiterbildung

2. Aufgabe: Attributes

(a) Was ist der Grund, warum Sprachen wie C# und Java Attribute respektive Annotationen eingeführt haben?

...........................................................................................................................................................................................
...........................................................................................................................................................................................
...........................................................................................................................................................................................
...........................................................................................................................................................................................
...........................................................................................................................................................................................

(b) Definieren Sie ein eigenes Custom Attribut namens ToDoAttribute welchem ein Comment hinterlegt werden
kann. Das Attribut darf nur auf Klassen, Konstruktoren und Methoden verwendet werden können.

(c) Verwenden Sie das Attribut auf der untenstehenden Klasse MyMath. Der Kommentar soll „to implement“
lauten.

(d) Wo wird der Wert des Attributes abgespeichert?

...........................................................................................................................................................................................
...........................................................................................................................................................................................
(a) Prüfen Sie unter Verwendung von Reflection, ob das ToDoAttribute auf MyMath definiert .

Seite 3 von 4 Thomas Kehl


Zentrum für berufliche Weiterbildung

Anhang

Seite 4 von 4 Thomas Kehl

Das könnte Ihnen auch gefallen