2013-12-14 3 views
0

В VB.NET я просматриваю строку кода, которая передает следующее значение процедуре, определяющей параметр как тип «объект».Основы синтаксиса инициализации объекта VB.NET

New Object() {gClient.ContactManager, LyncUri} 

Вот полный соответствующий код

Dim gClient As Microsoft.Lync.Model.LyncClient 
gClient = Microsoft.Lync.Model.LyncClient.GetClient() 

    gClient.ContactManager.BeginSearch(LyncUri, 
     Ly.SearchProviders.GlobalAddressList, 
     Ly.SearchFields.EmailAddresses, 
     Ly.SearchOptions.IncludeContactsWithoutSipOrTelUri, 
     1, 
     AddressOf SearchCallback, 
     New Object() {gClient.ContactManager, LyncUri}) 

и процедура определения

Public Function BeginSearch(searchString As String, providers As Microsoft.Lync.Model.SearchProviders, searchFields As Microsoft.Lync.Model.SearchFields, searchOptions As Microsoft.Lync.Model.SearchOptions, maxResults As UInteger, contactsAndGroupsCallback As System.AsyncCallback, state As Object) As System.IAsyncResult 

Я видел объект инициализатора код, который инициализирует свойства объекта путем присвоения значений свойств в скобках с использованием формат синтаксиса {property1 = value1, property2 = value}, например, но что именно делает этот код?

+2

Он создает массив. Пример: 'Dim obj As String() = New String() {" MyObj1 "," MyObj2 "," MyObj2 "}'. –

ответ

1

New Object() создает массив объектов. Что между {фигурными скобками} является то, что инициализирует элементы массива. Очень удобный синтаксический сахар для подробного описания:

dim arr = New Object(1) 
arr(0) = gClient.ContactManager 
arr(1) = LyncUri 
+0

Ах .... имеет смысл. Благодарю. – ChadD

Смежные вопросы