Object Override the following methods correctly:
Identify correct and incorrect statements about these methods. Inheritance Define a class hierarchy.
Identify the fact that polymorphic classes and methods are deactivated by default in C#.
Use the virtual keyword to enable polymorphic calls.
Use the new keyword to redefine methods.
Understand that if you use 'new' keyword to redefine a method, there are circumstances where the new method will not be called, but the old one will.
Use the override keyword to override methods.
Declare an Interface and be aware of the proper NamingConvention for interfaces( Interfaces should start with a uppercase IInterface because C# defines no implements keyword).
Implement an interface either implicit or explicit.
Call base-class methods.
Call base-class constructors.
IEnumerable Implements the interface IEnumerable.
Use multiple yield statements in an iterator correctly Sorting Define a natural sort order with the interfaces
IComparable and
IComparer Component Development Define Indexer.
Define Attributes.
Overloads the following operators:
Identify operators which can only be overloaded in pairs(==, !=)
Define user defined conversions both implicit and explicit. Delegates Declare and uses delegates.
Recognize that every delegate inherits from System.MulticastDelegate but direct inheritance from this class is not allowed.
Be aware of the meaning of the + and - operator for delegates.
Declare multicast delegates.
Declare an event and register a delegate as an eventhandler.
Write code which declares a anonymous method.
Write code that declares generic anonymous methods and or which uses parameters.
Threads Instantiate and starts thread.
Use the following functions from the thread class:
- Join
- Sleep
- Interrupt
- Yield
Execute tasks with the class ThreadPool.
Use explicit locking with the Monitor class.
Use the Wait, Pulse and PulseAll methods of the Monitor class.
Uses the lock block.
Identify the advantages of using Monitor over lock blocks and vice versa. Generics Declare generic classes and methods.
Write code that declare Type-Constraints on typeparameters.
Use all six available types of generic constraints.
Use generic classes from the System.Collections.Generic package:
Be able to distinct generic collection classes and non generic.
Identify situations where it is appropriate to use generics in the namespace System.Collections.ObjectModel and where it is appropriate to use collections in the namespace System.Collections.Generic.
Enums Declare an enum.
Cast enums.
Change the ordinal order of enums.
Use the methods of the class System.Enum to interact with enums.
Recognize that an enum is a value type.
Change the type of the members of an enum.
Strucs Write code that uses structures.
Identify valid keywords inside a structure.
Know that the memory space of a structure is allocated on the stack.
Identify a structure as a value type.
Define methods, constructors and properties inside a structure.