Kennzeichnet eine Methode, eine Eigenschaft, ein Ereignis oder einen Indexer als virtuell,
so dass dieses Element in einer abgeleiteten Klasse überschrieben werden kann.
Wird eine virtuelle Methode aufgerufen, so wird überprüft, ob in einer abgeleiteten Klasse
eine überschreibende Methode definiert ist, wobei dann die sich in der Klassenhierarchie am
tiefsten befindliche Methode aufgerufen wird. Falls keine überschreibende Methode gefunden
werden kann, wird die ursprüngliche Methode aufgerufen.
Elemente, die nicht als virtuell gekennzeichnet wurden, sind nicht virtuell und können nicht
überschrieben werden. Da virtuelle Elemente überschrieben werden können, kann das Schlüsselwort
virtual nicht mit den Schlüsselwörtern
abstract,
private,
override,
sealed und
static verwendet werden.