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
Koncepcje
Zagnieżdżonych struktur kontroli (Visual Basic)