CType-Funktion (Visual Basic)

Gibt das Ergebnis der expliziten Konvertierung eines Ausdrucks in einen angegebenen Datentyp, ein Objekt, eine Struktur, eine Klasse oder eine Schnittstelle zurück.

CType(expression, typename)

Bestandteile

  • expression
    Jeder gültige Ausdruck. Wenn der Wert von expression außerhalb des für typename zulässigen Bereichs liegt, löst Visual Basic eine Ausnahme aus.

  • typename
    Ein beliebiger Ausdruck, der innerhalb einer As-Klausel in einer Dim-Anweisung zulässig ist, d. h. der Name eines beliebigen Datentyps, eines Objekts, einer Struktur, einer Klasse oder einer Schnittstelle.

Hinweise

CType wird inline kompiliert. Dies bedeutet, dass der Konvertierungscode Bestandteil des Codes für die Auswertung des Ausdrucks ist. In einigen Fällen wird zur Durchführung der Konvertierung keine Prozedur aufgerufen, wodurch die Ausführung schneller wird.

Wenn keine Konvertierung von expression in typename definiert ist, beispielsweise von Integer in Date, zeigt Visual Basic zur Kompilierungszeit eine Fehlermeldung an.

Falls eine Konvertierung zur Laufzeit fehlschlägt, tritt die entsprechende Ausnahme auf. Schlägt eine einschränkende Konvertierung fehl, resultiert dies meist in einem OverflowException-Fehler. Wenn die Konvertierung nicht definiert ist, tritt ein InvalidCastException-Fehler auf. Dies kann der Fall sein, wenn z. B. expression vom Typ Object ist und für seinen Laufzeittyp keine Konvertierung in typename definiert ist.

Handelt es sich beim Datentyp von expression oder typename um eine von Ihnen definierte Klasse oder Struktur, können Sie CType für diese Klasse oder Struktur als Konvertierungsoperator definieren. In diesem Fall verhält sich CType wie ein überladener Operator. Wenn Sie einen Konvertierungsoperator definieren, können Sie nicht nur das Verhalten von Konvertierungen in und aus der Klasse oder Struktur steuern, sondern auch bestimmen, welche Ausnahmen ausgelöst werden können.

Überladen

Der Operator CType kann auch für eine Klasse oder Struktur überladen werden, die außerhalb Ihres Codes definiert ist. Wenn Ihr Code Konvertierungen in eine solche Klasse oder Struktur oder in umgekehrter Richtung durchführt, müssen Sie sicherstellen, dass Sie das Verhalten des betreffenden Operators CType verstehen. Weitere Informationen finden Sie unter Operatorprozeduren (Visual Basic).

Konvertieren von dynamischen Objekten

Wenn Sie mit dynamischen Objekten arbeiten und Typkonvertierungen mithilfe benutzerdefinierter dynamischer Konvertierungen ausgeführt werden, die die TryConvert-Methode oder die BindConvert-Methode verwenden, verwenden Sie die CTypeDynamic-Methode, um das dynamische Objekt zu konvertieren.

Beispiel

In diesem Beispiel wird die CType-Funktion dazu verwendet, einen Ausdruck in den angegebenen Datentyp zu konvertieren.

Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)

Siehe auch

Aufgaben

Gewusst wie: Definieren eines Konvertierungsoperators (Visual Basic)

Referenz

Funktionen für die Typkonvertierung (Visual Basic)

Konvertierungsfunktionen (Visual Basic)

OverflowException

InvalidCastException

Operator-Anweisung