Schon sehr breit angelegt und trotzdem gibt es noch ein paar Sachen die man ansprechen sollte/könnte (vielleicht hab ich die in deinem Dokument auch nur übersehen)
Allgemein
- irgendwo sollte auf access modifier (public, protected, internal, internal protected, private) eingegangen werden
insbesondere auf die internal Varianten
- und wenn man schon dabei ist sollte man auch auf die anderen modifiers (const,static,readonly,sealed,partial und noch ein paar weiter die mir grad nicht einfallen) eingehen
- Attributes (könntest du zwar in die Reflection Ecke stellen aber man muß zumindest wissen worum es geht, dman fällt fast zwangsweise darüber)
- das casten von Typen (einschließlich der Operatoren 'is','as')
- allgemeines eingehen auf Interfaces(was kann in einem Interface stehen z.B. auch static constructors, explizite vs implizite Implementierung, multiple inheritance von Interfaces)
Variables
- Boxing
Operators
- ternäre Operator ? : (könnte man auch zu Control Structures packen)
- bitwise Operatoren (inklusive Shift Operatoren)
Collections
- Dictionaries
Generics
- Unterscheidung der generischen Collections in Collections.Generic und Collections.ObjectModel (wann setze ich welche ein)
- Verständnis der Interfaces IEnumerable, IEnumerator, IList
- Implementieren einer eigenen Liste (mit Enumerator)
Exceptions
- man sollte auf die auswerte Reihenfolge bei catch Blöcken eingehen
Enums
- Flags
Delegates
- auf Eventhandler<T> eingehen
Daneben gibts auch ein paar Sachen die nicht so recht passen.
Declare Exceptions on a method - Ist wohl eher ein reines Java Feature oder gehts dir darum wie man das in C# nachbilden kann?
Naming Conventions - es gibt keine wirklich ~offiziellen~ Conventions. Du beziehst dich vermutlich auf die Framework Design Guidelines. Es wäre Fair das zu erwähnen.
Use the using keyword to import packages - using importiert nichts sondern ist ein reines Alias, Shortcut Feature um nicht jeden Typ voll qualifizieren zu müssen. Importiert(der Begriff ist unglücklich) wird eh nichts, es wird nur referenziert.
Hashset - Ist ein Framework 3.5 Feature (du wolltest doch nur bis C#2.0 oder?)
Define classes in a package - ? erstelle Klasse in einem anderen Projekt ?
Write static initializers for classes - in c# sind das static constructors
Viel Spaß beim ausarbeiten
