Aracılığıyla paylaş


İşleci ifadesi

İşlecin, işlenen ve işleci yordamı bir sınıf veya yapı tanımlayan kod bildirir.

[ <attrlist> ] Public [ Overloads ] Shared [ Shadows ] [ Widening | Narrowing ] 
Operator operatorsymbol ( operand1 [, operand2 ]) [ As [ <attrlist> ] type ]
    [ statements ]
    [ statements ]
    Return returnvalue
    [ statements ]
End Operator

Bölümleri

  • attrlist
    İsteğe Bağlı.Bkz: öznitelik listesi.

  • Public
    Gerekli.Bu işleç yordam olduğunu gösterir Ortak (Visual Basic) erişim.

  • Overloads
    İsteğe Bağlı.Bkz: Aşırı yükleme (Visual Basic)

  • Shared
    Gerekli.Bu işleç yordam olduğunu gösterir bir Paylaşılan (Visual Basic) yordam.

  • Shadows
    İsteğe Bağlı.Bkz: Gölgeler (Visual Basic)

  • Widening
    Siz bir dönüştürme işleci için gerekli Narrowing.Bu işleç yordamı tanımlar gösterir bir Daraltmayı (Visual Basic) dönüştürme."Dönüştürmeler daraltmayı ve daraltmaya" üzerinde bu yardım sayfasına bakın.

  • Narrowing
    Siz bir dönüştürme işleci için gerekli Widening.Bu işleç yordamı tanımlar gösterir bir Daraltma (Visual Basic) dönüştürme."Dönüştürmeler daraltmayı ve daraltmaya" üzerinde bu yardım sayfasına bakın.

  • operatorsymbol
    Gerekli.Simge veya bu işleci yordamı tanımlar işleci tanıtıcısı.

  • operand1
    Gerekli.Adı ve (bir Dönüþtürme iþleci dahil) tek işlem işleci tek işlenen veya ikili işlecinin sol işlenenin türü.

  • operand2
    İkili işleçler için gereklidir.Adı ve türü ikili işlecinin sağ işlenen.

    operand1ve operand2 aşağıdaki sözdizimi ve bölümleri vardır:

    [ ByVal ] operandname [ As operandtype ]

    Parça

    Description

    ByVal

    İsteğe bağlı, ancak geçişini mekanizması olmalıdır ByVal (Visual Basic).

    operandname

    Gerekli.Bu işlenen temsil eden değişken adı.Bkz: Bildirilen öğe adları (Visual Basic)

    operandtype

    İsteğe bağlı sürece Option Strict olan On.Bu işlenen veri türü.

  • type
    İsteğe bağlı sürece Option Strict olan On.Operatör yordamı değerin veri türü verir.

  • statements
    İsteğe Bağlı.Operatör yordamını çalıştırır ifadeleri engelleme.

  • returnvalue
    Gerekli.Operatör yordamı çağıran kodun verir değeri.

  • EndOperator
    Gerekli.Bu işleç yordam tanımını sonlandırır.

Notlar

Kullanabileceğiniz Operator bir sınıf veya yapı içinde.Yani bildiriminin içerik bir işleç kaynak dosyası, ad, modül, arabirim, yordamı veya bloğu olamaz.Daha fazla bilgi için bkz. Bildirim içerikleri ve varsayılan erişim düzeyleri (Visual Basic).

Bütün iþleçler olmalýdýr Public Shared.Belirttiğiniz olamaz ByRef, Optional, veya ParamArray ya da işlenen için.

Dönüş değeri tutmak için bir simge veya tanımlayıcı kullanamazsınız.Kullanmanız gereken Return deyimi ve bir değer belirtmeniz gerekir.Herhangi bir sayıda Return ifadeleri görüntülenebilir herhangi bir işlemde.

Bu şekilde bir işleç tanımlama adlı aþýrý yüklemesi, kullandığınız olsun veya olmasın Overloads anahtar sözcüğü.Aşağıdaki tabloda, tanımlayabilirsiniz işleçleri listeler.

Tür

İşleçler

Tekli

+, -, IsFalse, IsTrue, Not

İkili

+, -, *, /, \, &, ^, >>, <<, =, <>, >, >=, <, <=, And, Like, Mod, Or, Xor

Dönüştürme (tekli)

CType

Dikkat = ikili listesinden işleç olarak atama işleci karşılaştırma işleci.

Tanımladığınız ne zaman CType, ya da belirtmeniz gerekir Widening veya Narrowing.

Eşleşen çiftler halinde

Eşleşen çiftler halinde bazı işleçler tanımlamanız gerekir.Böyle bir çifti her iki operatör tanımlarsanız, diğeri de tanımlamanız gerekir.Eşleşen çiftler halinde aşağıda verilmiştir:

  • =ve<>

  • >ve<

  • >=ve<=

  • IsTrueveIsFalse

Veri türü kısıtlamaları

Tanımladığınız her işleç üzerinde tanımladığınız sınıf veya yapı kapsaması gerekir.Diğer bir deyişle, sınıf veya yapı veri türünü aşağıdaki gibi görünmelidir:

  • Tek işlem işleci işlenen.

  • En az biri ikili işleci.

  • İşlenen veya dönüştürme işlecinin dönüş türü.

Belirli operatörleri ek veri kısıtlamaları gibi türüne sahiptir:

  • Tanımladığınız, IsTrue ve IsFalse , operatörler gerekir hem döndürmeleri Boolean türü.

  • Tanımladığınız, << ve >> işleçleri, bunların her ikisi de belirtmeniz gerekir Integer için operandtype , operand2.

Dönüş türü ya da işlenen türüne karşılık yok.Örneğin, bir karşılaştırma işleci gibi = veya <> dönebilirsiniz Boolean ne işlenen olsa bile, Boolean.

Mantıksal ve Bitsel işleçler

And, Or, Not, Ve Xor işleçleri, Visual Basic'te mantıksal veya Bitsel işlemler gerçekleştirebilir.Ancak, bu işleçlerden birini bir sınıf veya yapı tanımlarsanız, kendi bitwise işlem tanımlayabilirsiniz.

Siz tanımlayamazsınız AndAlso işleci ile doğrudan bir Operator ifadesi.Ancak, kullanabileceğiniz AndAlso , aşağıdaki koşullar yerine getirdi:

  • Tanımladığınız And için kullanmak istediğiniz aynı işlenen türleri üzerinde AndAlso.

  • Tanımınızı, And , tanımladığınız, sınıf veya yapı ile aynı türde döndürür.

  • Tanımladığınız IsFalse operator tanımladığınız, sınıf veya yapı And.

Benzer şekilde, kullanabileceğiniz OrElse tanımladıysanız, Or sınıf veya yapı ve dönüş türü ile aynı işlenen üzerinde tanımlamış olduğunuz IsTrue sınıf veya yapı.

Daraltmayı ve dönüşümleri daraltmaya

A dönüştürme widening çalışma zamanında her zaman başarılı iken bir dönüştürme daraltmaya zamanında başarısız olabilir.Daha fazla bilgi için bkz. Daraltmayı ve daraltmaya dönüşümleri (Visual Basic).

Olacak şekilde dönüştürme yordamından bildirirseniz Widening, herhangi bir başarısızlığı yordamı kodunuzu oluşturmamanız gerekir.Bu aşağıdaki anlamına gelir:

  • Türü için geçerli bir değer döndürmesi gerekir her zaman type.

  • Tüm olası durumlar ve diğer hata koşullarının işlemesi gerekir.

  • Onu çağıran tüm yordamlar tarafından herhangi bir hata döndürür işlemesi gerekir.

Dönüştürme yordamı başarısız olasılığı veya o BT işlenmeyen bir özel durum neden olabilir, olmasını bildirmelisiniz Narrowing.

Örnek

Aşağıdaki kod örneği Operator için operatör yordamları içeren bir yapı anahatlarını tanımlamak için ifade And, Or, IsFalse, ve IsTrue operators.Andve Or her iki işlenen tür ele abc ve dönüş türü abc.IsFalseve IsTrue türünde tek bir işlenen her ele abc ve Boolean.Bu tanımları kullanmaya çağıran kodun izin And, AndAlso, Or, ve OrElse türündeki işlenenler ile 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

Ayrıca bkz.

Görevler

Nasıl yapılır: bir işleç (Visual Basic) tanımla

Nasıl yapılır: bir Dönüþtürme iþleci (Visual Basic) tanımla

Nasıl yapılır: (Visual Basic) bir işleç yordam çağrısı

Nasıl yapılır: Operators (Visual Basic) tanımlayan bir sınıf kullanmak

Başvuru

IsFalse işleci (Visual Basic)

IsTrue işleci (Visual Basic)

Daraltmayı (Visual Basic)

Daraltma (Visual Basic)

Kavramlar

Daraltmayı ve daraltmaya dönüşümleri (Visual Basic)

Operatör yordamları (Visual Basic)