2016-04-08 11 views
0

Wie erstelle ich eine if-Anweisung, um nach einem Dokument für einen Fall zu suchen, der gelöscht wird, oder zu prüfen, ob kein Dokument existiert und wenn? Wenn kein Eintrag gefunden wird oder die Liste leer ist, würde Ich mag eine leere Liste von Dokumenten zurückzukehren und nichts zurück, wenn die Rückkehr keine Liste istLeere Liste der Dokumente zurückgeben

Mein Szenario.

Ich habe Eine Methode GetDocuments, die einen Objektreferenzfehler verursachen kann, wenn versucht wird, ein Dokument für ein Fallereignis abzurufen, das gelöscht wird oder wo kein Dokument vorhanden ist.
Ich möchte meine Methode

  1. Rückkehr eine leere Liste von Dokumenten beheben, wenn Dokument für einen Fall, Fall, dass
  2. Rückkehr eine leere Liste der Dokumente gelöscht, wenn kein Dokument (vorhanden)
  3. gefunden wird
  4. nichts zurück, wenn die Rückkehr keine Liste ist.

muss ich hinzufügen müssen if-Anweisung, wenn das Dokument existieren zu überprüfen oder ob es eine Dokumentenliste zurückgekehrt ist? Ich bin nicht sicher, wie es zu tun

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

Ich stimme für das Schließen dieser Frage als Off-Topic, weil Sie mehr oder weniger nach einer Rezension fragen. Bitte [** siehe **] (http://codereview.stackexchange.com/) dort. Auch nur ein Vorschlag, schalten Sie "Option Strict On" ... Eine weitere Sache, erwähnenswert. Sie deklarieren "objDocument" vor der Schleife, aber ordnen Sie dieses Objekt niemals einem Objekt zu, sondern fügen es dann einer "Liste" hinzu. Es wird nichts an dieser Stelle in dieser Liste sein. Warum sollte es zuerst deklariert werden? Sie können für jedes Dokument "Für jedes Dokument als Dokument in objDocumentArray" ... – Codexer

+0

Wenn Sie ein Array in eine Liste konvertieren möchten, können Sie einfach [AddRange] (https://msdn.microsoft.com/en-us) aufrufen /library/z883w3dc(v=vs.110).aspx). Wenn der Fehler auftritt, weil objDocumentsArray nichts ist, machen Sie einfach eine if-Anweisung. –

+0

Ich bin mir nicht sicher, wie ich mit der if-Anweisung verfahren soll. Dazu benötige ich Hilfe beim Erstellen einer if-Anweisung, um zu prüfen, ob es eine Liste gibt und ob das Dokument existiert. –

Antwort

0

Es ist nicht klar, was nichts in Ihrer Frage ist. Ich kann nur davon ausgehen, dass es objDocumentsArray ist.

Setzen Sie Ihre Variable nicht mit ihrem Typ in vb.net voran. Anstelle von aintCaseEventIntegrationID haben Sie einfach caseEventIntegrationID.

+0

Dies wurde von jemand anderem geschrieben und ich versuche nur, es zu ändern. Du hast Recht, Rückgabe bedeutet nichts, wenn objDocumentArray() nichts enthält –

Verwandte Themen