2016-04-08 3 views
0

Как создать оператор if для проверки документа для удаляемого случая или проверить, нет ли документа, который существует, и если? Если нет найдено документов или список пуст, я хотел бы вернуть пустой список документов и не вернуть ничего, если возврат не списокВозвращает пустой список документов

Мой сценарий:.

У меня есть метод GetDocuments, который может вызывать ошибку ссылки на объект при попытке получить документ для случая, которое было удалено или где нет документа.
Я хотел бы исправить мой метод

  1. Возвращение пустой список документов, при наличии документа для случая события, удаляемого
  2. Возвращение пустой список документов, если документ не найден (существует)
  3. не
  4. Возврат ничего, если возврат не список.

мне нужно добавить, если заявление, чтобы проверить, если документ существует, или если есть возвращен список документов ли? Я не знаю, как это сделать

Imports System.Xml 
    Imports System.Text 
    Imports System.Collections.Generic 
    Imports System.Text.RegularExpressions 

''' <summary> 
    ''' Retrieve all documents associated to the spcified case event. 
    ''' </summary> 
    ''' <param name="aintCaseEventIntegrationID">The integration id value that identifies the case.</param> 
    ''' <returns>An array of Document objects.</returns> 
    ''' <remarks></remarks> 
    <System.EnterpriseServices.AutoComplete()> _ 
    Shared Function GetDocuments(ByVal aintCaseEventIntegrationID As Integer, Optional ByVal ablnUsePrimaryDatastoreOnly As Boolean = False) As List(Of Document) 
     Dim objDocumentsArray() As Document = Msc.Integration.Mncis.Library.v4.Document.GetForEntity(aintCaseEventIntegrationID, udtDocumentAttachedEntityType.CaseEvent, ablnUsePrimaryDatastoreOnly) 
     Dim objDocumentsList As New List(Of Document) 
     Dim objDocument As Document 
     For Each objDocument In objDocumentsArray 
      objDocumentsList.Add(objDocument) 
     Next 
     Return objDocumentsList 

    End Function 
+0

Я голосующий, чтобы закрыть этот вопрос как не по теме, потому что вы спрашиваете о пересмотре более или менее. Пожалуйста, [** см. **] (http://codereview.stackexchange.com/). Также просто предложение, поверните 'Option Strict On' ... Еще одно замечание. Вы объявляете 'objDocument' перед циклом, но никогда не назначаете этот объект никому, а затем добавляете его в' list'. В этом списке ничего не будет. Зачем объявлять его в первую очередь, это может быть борьба с вашим объявлением цикла. Для каждого из них может быть «Для каждого документа как документа в objDocumentArray» ... – Codexer

+0

Если вы хотите преобразовать массив в список, вы можете просто вызвать [AddRange] (https://msdn.microsoft.com/en-us /library/z883w3dc(v=vs.110).aspx). Если ошибка происходит из-за того, что objDocumentsArray ничего, просто сделайте оператор if. –

+0

Я не уверен, как это сделать. Это то, что мне нужна помощь при создании оператора if, чтобы проверить, есть ли список и если документ существует. –

ответ

0

Это не ясно, что нет ничего в вашем вопросе. Я могу только предположить, что это objDocumentsArray.

Shared Function GetDocuments(ByVal aintCaseEventIntegrationID As Integer, Optional ByVal ablnUsePrimaryDatastoreOnly As Boolean = False) As List(Of Document) 
    Dim objDocumentsArray() As Document = Msc.Integration.Mncis.Library.v4.Document.GetForEntity(aintCaseEventIntegrationID, udtDocumentAttachedEntityType.CaseEvent, ablnUsePrimaryDatastoreOnly) 
    Dim objDocumentsList As New List(Of Document) 

    If objDocumentsArray IsNot Nothing Then 
     objDocumentsList.AddRange(objDocumentsArray) 
    End If 

    Return objDocumentsList 
End Function 

Не префикс вашей переменной с их типом в vb.net. Вместо aintCaseEventIntegrationID просто имеет caseEventIntegrationID.

+0

Это было написано кем-то еще, и я просто пытаюсь его изменить. Вы правы, возврат не означает, что если objDocumentArray() не имеет в нем ничего –

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