Operator – příkaz
Deklaruje operátor symbol, operandy a kód, který bude definovat procedury operátor na třídy nebo struktury.
[ <attrlist> ] Public [ Overloads ] Shared [ Shadows ] [ Widening | Narrowing ]
Operator operatorsymbol ( operand1 [, operand2 ]) [ As [ <attrlist> ] type ]
[ statements ]
[ statements ]
Return returnvalue
[ statements ]
End Operator
Části
attrlist
Nepovinné.Viz seznam atributů.Public
Povinné.Označuje, že je tento postup operátor Public (Visual Basic) přístup.Overloads
Nepovinné.Viz téma Přetížení (Visual Basic).Shared
Povinné.Označuje, že tento postup operátor Shared (Visual Basic) postup.Shadows
Nepovinné.Viz téma Shadows (Visual Basic).Widening
Požadované pro převod operátor nezadáte Narrowing.Označuje, že tento postup operátor definuje Rozšíření (Visual Basic) převodu.Na této stránce nápovědy naleznete v části "Rozšíření a zužující převody".Narrowing
Požadované pro převod operátor nezadáte Widening.Označuje, že tento postup operátor definuje Narrowing (Visual Basic) převodu.Na této stránce nápovědy naleznete v části "Rozšíření a zužující převody".operatorsymbol
Povinné.Symbol nebo identifikátor operátor, který definuje tento postup operátor.operand1
Povinné.Název a typ jediný operand Unární operátor (včetně převodu operátor) nebo levý operand binární operátor.operand2
Požadováno pro binární operátory.Název a typ pravý operand binární operátor.operand1a operand2 mají následující syntaxi a částí:
[ ByVal ] operandname [ As operandtype ]
Část
Description
ByVal
Volitelné, ale mechanismus předávání musí být ByVal (Visual Basic).
operandname
Povinné.Název proměnné reprezentující tento operand.Viz téma Deklarované názvy elementu (Visual Basic).
operandtype
Volitelné Pokud Option Strict je On.Typ dat tento operand.
type
Volitelné Pokud Option Strict je On.Vrátí typ dat hodnoty postupem operátor.statements
Nepovinné.Blok příkazů, které spustí proceduru operátor.returnvalue
Povinné.Hodnotu, vrátí operátor postup volající kód.End Operator
Povinné.Definice tohoto postupu operátor ukončí.
Poznámky
Můžete použít Operator pouze ve třídě nebo struktuře.To znamená prohlášení kontextu operátor nemůže být zdrojový soubor, obor názvů, modul, rozhraní, postup nebo bloku.Další informace naleznete v tématu Kontexty deklarace a výchozí úrovně přístupu (Visual Basic).
Všechny operátory musí být Public Shared.Nelze zadat ByRef, Optional, nebo ParamArray pro buď operand.
Nelze použít operátor symbol nebo identifikátor držet vrácenou hodnotu.Je nutné použít Return prohlášení a je nutné zadat hodnotu.Libovolný počet Return příkazy můžete umístit na libovolné místo v postupu.
Definování operátor tímto způsobem se nazývá přetížení operátor, zda použijete Overloads klíčové slovo.Následující tabulka uvádí operátory, které lze definovat.
Type |
Operátory |
---|---|
Unární |
+, -, IsFalse, IsTrue, Not |
Binární |
+, -, *, /, \, &, ^, >>, <<, =, <>, >, >=, <, <=, And, Like, Mod, Or, Xor |
Převod (unární) |
CType |
Všimněte si, že = je v seznamu binární operátor porovnávací operátor operátor přiřazení.
Pokud definujete CType, je nutné zadat buď Widening nebo Narrowing.
Odpovídající dvojice.
Některé hospodářské subjekty musí definovat jako odpovídající dvojice.Můžete definovat buď operátor tyto dvojice, musíte definovat ostatní také.Odpovídající dvojice jsou následující:
= a <>
> a <
>= a <=
IsTrue a IsFalse
Omezení typu dat
Každý operátor, který definujete musí zahrnovat třídy nebo struktury, na kterém jste ji definovat.To znamená, že třídy nebo struktury musí být uvedeny následující typ dat:
Operand Unární operátor.
Alespoň jeden z operandů binární operátor.
Operand nebo návratový typ převodu operátor.
Některé operátory mají další data, zadejte následující omezení:
Pokud definujete IsTrue a IsFalse operátorů, musí oba vrátit Boolean typu.
Pokud definujete << a >> operátorů, je nutné zadat Integer zadejte operandtype z operand2.
Návratový typ není třeba odpovídat typu buď operand.Například operátor porovnání jako = nebo <> vrátit Boolean i v případě, že ani jeden operand je Boolean.
Logické a bitové operátory
And, Or, Not, A Xor operátory logické nebo bitové operace lze provádět v jazyce Visual Basic.Jestliže jeden z těchto operátorů na třídy nebo struktury, je definovat pouze jeho bitové operace.
Nelze definovat AndAlso operátor přímo Operator prohlášení.Můžete však použít AndAlso Pokud jsou splněny následující podmínky:
Jste And na stejné typy operand, kterou chcete použít pro AndAlso.
Vaše definice And vrátí stejný typ jako třídy nebo struktury, na kterém jste je definovali.
Jste IsFalse operátor na třídy nebo struktury, na které jsou definovány And.
Podobně lze použít OrElse Pokud jste definovali Or na stejném operandy s návratový typ třídy nebo struktury a definovali IsTrue na třídy nebo struktury.
Rozšiřování a zužující převody
A rozšiřující vždy následuje za běhu, zatímco zužující převody může selhat při běhu.Další informace naleznete v tématu Rozšíření a zúžení převodů (Visual Basic).
Pokud deklarujete postup převodu se Widening, kód postupu musí generovat žádné chyby.To znamená následující:
Vždy musí vrátit platnou hodnotu typu type.
Musí zpracovat, všechny výjimky a další podmínky chyby.
Ji musí zpracovat všechny vrátí chyba ze všech postupů, který jej volá.
Pokud existuje riziko, že postup převodu nemusí proběhnout úspěšně, nebo že může způsobit Neošetřená výjimka, musí být deklarovat Narrowing.
Příklad
Následující kód například používá Operator příkaz definovat obrys konstrukce, která zahrnuje postupy operátor And, Or, IsFalse, a IsTrue operátory.Anda Or každý vezmou dva operandy typu abc a vracet typ abc.IsFalsea IsTrue každý trvat jeden operand typu abc a Boolean.Tyto definice umožňují volající kód použití And, AndAlso, Or, a OrElse s operandy typu abc.
Public Structure abc
Dim d As Date
Public Shared Operator And(ByVal x As abc, ByVal y As abc) As abc
Dim r As New abc
' Insert code to calculate And of x and y.
Return r
End Operator
Public Shared Operator Or(ByVal x As abc, ByVal y As abc) As abc
Dim r As New abc
' Insert code to calculate Or of x and y.
Return r
End Operator
Public Shared Operator IsFalse(ByVal z As abc) As Boolean
Dim b As Boolean
' Insert code to calculate IsFalse of z.
Return b
End Operator
Public Shared Operator IsTrue(ByVal z As abc) As Boolean
Dim b As Boolean
' Insert code to calculate IsTrue of z.
Return b
End Operator
End Structure
Viz také
Úkoly
Postupy: Definice operátora (Visual Basic)
Postupy: Definice operátora převodu (Visual Basic)
Postupy: Volání procedury operátora (Visual Basic)
Postupy: Použití třídy, která definuje operátory (Visual Basic).
Referenční dokumentace
IsFalse – operátor (Visual Basic)
IsTrue – operátor (Visual Basic)