Benutzerdefinierte Typen
Neben den 16 vordefinierten integrierten Standardtypen von C# können Entwickler eigene benutzerdefinierte Typen erstellen, die sich insgesamt in sechs Gruppen einteilen lassen:
- Klassen-Typen (class)
- Struktur-Typen (struct)
- Array-Typen
- Enumeration-Typen (enum)
- Delegate-Typen
- Schnittstellen-Typen (interface)
Benutzerdefinierte Typen werden über eine Typdeklaration erzeugt
- Die Art des zu erstellenden Typs
- Der Name des neuen Typs
- Die Deklaration aller Mitglieder des Typs (Name und Definition). Ausgenommen sind Arrays und Delegates, diese besitzen keine benannten Mitglieder
Nach abgeschlossener Deklaration lassen sich Objekte dieses Typs genau wie bei vordefinierten Typen erzeugen und verwenden.
Vordefinierte Typen (integrierte Typen) können direkt genutzt und instanziiert werden. Benutzerdefinierte Typen hingegen erfordern erst eine vorherige Typdefinition (wie eine Bauzeichnung), bevor man Objekte daraus erzeugen kann.
Beispiel: Basistypen wie int oder float sind sofort einsatzbereit, man schreibt einfach int age; float price;.
Für den zuvor genannten benutzerdefinierten Typ Person braucht es dagegen zwei Schritte:
Schritt eins: Deklaration (Festlegen der Typvorlage mit class Person {})
Schritt zwei: Instanziierung (Erstellen eines Objekts mit Person lucas = new Person();)
// Automobil-Klasse
public class Car
{
// 1. Private Felder (unterlagerter Datenspeicher)
private string _brand; // Automarke
private string _color; // Wagenfarbe
// 2. Öffentliche Eigenschaften (externer Zugriffspunkt mit Prüfregeln erweiterbar)
public string Brand
{
get { return _brand; }
set
{
// Einfache Prüfung: Markenname darf nicht leer sein
if (!string.IsNullOrEmpty(value))
_brand = value;
else
Console.WriteLine("Der Markenname darf nicht leer bleiben!");
}
}
public string Color
{
get { return _color; }
set { _color = value; }
}
// 3. Verhaltensmethode: Fahren
public void Drive()
{
Console.WriteLine($"Ein Fahrzeug der Marke【{Brand}】in der Farbe【{Color}】ist unterwegs!");
}
}Code-Sprache: JavaScript (javascript)
Das obige Beispiel zeigt eine Fahrzeugklasse mit zwei Feldern. Felder sind Variablen mit integrierten Typen zur tatsächlichen Datenspeicherung. Daneben gibt es zwei öffentliche Eigenschaften Brand und Color, die im Grunde Funktionen darstellen – dazu kommen wir später. Abschließend ist die Funktionsmethode public void Drive(){} enthalten.
Wir werden alle diese benutzerdefinierten Typen in späteren Abschnitten detailliert erläutern.

Benutzerdefinierte Typen