Objecten uit de My namespace kunnen we uitbreiden, of we kunnen er objecten aan toevoegen.
Om het My.Computer object bijvoorbeeld uit te breiden doe je dit via de Partial klasse MyComputer in de Partial namespace My.
Een My object toevoegen kan bijvoorbeeld aan de hand van een module waarin je een property definieert.
1: Imports System.Net.NetworkInformation
2: Namespace My
3: Partial Class MyComputer
4: Friend ReadOnly Property DhcpServerIPAddresses() As IPAddressCollection
5: Get
6: For Each adapter In NetworkInterface.GetAllNetworkInterfaces()
7: Dim dhcpServers As IPAddressCollection = _
8: adapter.GetIPProperties().DhcpServerAddresses
9: If DhcpServerIPAddresses Is Nothing Then
10: DhcpServerIPAddresses = dhcpServers
11: Else
12: DhcpServerIPAddresses.Union(dhcpServers)
13: End If
14: Next
15: End Get
16: End Property
17: End Class
18: Module MyCustomExtension
19: Private _extension As New ThreadSafeObjectProvider(Of Random)
20: Friend ReadOnly Property Random() As Random
21: Get
22: Return _extension.GetInstance()
23: End Get
24: End Property
25: End Module
26: End Namespace
27: Class MyCustomExtensionExample
28: Public Shared Sub Main()
29: For Each IPAddress In My.Computer.DhcpServerIPAddresses
30: Console.WriteLine(IPAddress.ToString())
31: Next
32: '
33: Console.WriteLine(My.Random.Next())
34: '
35: Console.ReadLine()
36: End Sub
37: End Class
38:
192.168.2.1
802325202
De property Random is hier gekoppeld aan een veld van het het type ThreadSafeObjectProvider(Of Random) die via de GetInstance() method per thread die de Random property opvraagt zeker een nieuw object oplevert.