Udostępnij za pośrednictwem


Z...Zakończyć instrukcją (Visual Basic)

Wykonuje serię instrukcji, która wielokrotnie odwołuje się do pojedynczego obiektu lub struktury.

With object
    [ statements ]
End With

Części

Termin

Definicja

expression

Wymagane.Wyrażenie do obiektu.Wyrażenie może być dowolnie złożonych i sprawdzane jest tylko jeden raz.Wyrażenie może być dowolnego typu danych, w tym typów podstawowych.

statements

Opcjonalne.Jeden lub więcej instrukcji między With i End With , odnosi się do członków obiekt, który jest produkowany przez oceny expression.

End With

Wymagane.Kończy definicję With bloku.

Uwagi

Za pomocą With...End With, można wykonać serię instrukcji na określony obiekt bez określania nazwy obiektu wiele razy.W With blok instrukcji, można określić Państwa obiektu, począwszy od okresu, tak jakby With obiektu instrukcja poprzedzające go.

Na przykład, aby zmienić wiele właściwości pojedynczego obiektu, umieść instrukcji przypisania właściwości wewnątrz With...End With blok, odnoszące się do obiektu tylko raz zamiast raz dla każdego przydziału właściwość.

Jeśli kod uzyskuje dostęp do tego samego obiektu w wielu instrukcji, aby uzyskać następujące korzyści za pomocą With instrukcji:

  • Nie musisz ocenić złożone wyrażenie wiele razy lub przypisać wynik w zmiennej tymczasowej, aby odwołać się do jego członków wiele razy.

  • Możesz czytelności kodu poprzez wyeliminowanie powtarzające się wyrażenia kwalifikacyjnej.

Typ danych z expression może być żadnej klasy lub struktury lub nawet typu podstawowego języka Visual Basic takich jak Integer.

expression Jest oceniane raz, po wejściu w bloku.Nie można ponownie przypisać expression od wewnątrz With bloku.

W With blok, umożliwia dostęp do metod i właściwości określonego obiektu bez kwalifikujących je.Można użyć metody i właściwości innych obiektów, ale należy zakwalifikować je z ich nazwy obiektu.

Można umieścić jeden With...End With instrukcja wewnątrz innego.Zagnieżdżone With...End With instrukcji może być mylące, jeśli obiekty, które są określone nie są jasne z kontekstu.Należy podać w pełni kwalifikowana odwołanie do obiektu, który jest w zewnętrzny With blok podczas od odwołuje się obiekt w obrębie wewnętrzny With bloku.

Nie może być Rozgałęzienie do With bloku instrukcji od poza blokiem.

Chyba że zawiera pętli, instrukcji jest uruchamiane tylko raz.Można zagnieździć różne rodzaje struktur kontroli.Aby uzyskać więcej informacji, zobacz Zagnieżdżonych struktur kontroli (Visual Basic).

[!UWAGA]

Można użyć With słowa kluczowego w obiekt również inicjatorów.Aby uzyskać więcej informacji i przykładów, zobacz Inicjatory obiekt: Nazwany i anonimowe typów (Visual Basic) i Typy anonimowe (Visual Basic).

Jeśli używasz With bloku tylko do zainicjowania właściwości lub pola obiektu, który właśnie został uruchomiony, inicjator obiektu warstwowy.

Przykład

W poniższym przykładzie każda With bloku wykonuje serię instrukcji na pojedynczy obiekt.

Private Sub AddCustomer()
    Dim theCustomer As New Customer

    With theCustomer
        .Name = "Coho Vineyard"
        .URL = "http://www.cohovineyard.com/"
        .City = "Redmond"
    End With

    With theCustomer.Comments
        .Add("First comment.")
        .Add("Second comment.")
    End With
End Sub

Public Class Customer
    Public Property Name As String
    Public Property City As String
    Public Property URL As String

    Public Property Comments As New List(Of String)
End Class

Poniższy przykład gniazd With…End With instrukcji.W obrębie zagnieżdżonych With instrukcji, Składnia odnosi się do obiektu wewnętrznego.

Dim theWindow As New EntryWindow

With theWindow
    With .InfoLabel
        .Content = "This is a message."
        .Foreground = Brushes.DarkSeaGreen
        .Background = Brushes.LightYellow
    End With

    .Title = "The Form Title"
    .Show()
End With

Zobacz też

Informacje

List<T>

Koncepcje

Zagnieżdżonych struktur kontroli (Visual Basic)

Inicjatory obiekt: Nazwany i anonimowe typów (Visual Basic)

Typy anonimowe (Visual Basic)