Executes a series of statements that repeatedly refer to a single object or structure so that the statements can use a simplified syntax when accessing members of the object or structure. When using a structure, you can only read the values of members or invoke methods, and you get an error if you try to assign values to members of a structure used in a With...End With statement.
Here is how a foreach loop looks like:
With object [ statements ] End With
The following example shows that each
With block executes a series of statements on a single object.
Module WithEndWithStatement Private Sub AddAuthor() Dim author As New Author With author .Name = "Coho Vineyard" .Address = "Redmond" End With With author.Books .Add("Introduction to Machine Learning") .Add("Advanced Topics in Machine Learning") End With End Sub Public Class Author Public Property Name As String Public Property Address As String Public Property Books As New List(Of String) End Class End Module