0

ここで「参照されたオブジェクトには何も値がありません」を解決する方法...
文字列型のプロパティを持つlogDTOオブジェクト。
一部のプロパティの値が空です。上記のエラーがスローされます。.ToString() を試しましたが、まだエラーがスローされます。

 Public Sub WriteJobLog(ByVal logDTO As JobLogDTO)
  Dim strArray As String() = {logDTO.Mode.ToString(), logDTO.UniqueId.ToString(), logDTO.ThreadId.ToString(), _
                         logDTO.StartTime.ToString(), logDTO.FinishTime.ToString(), logDTO.TimeTaken.ToString(), _
                         logDTO.PropertyId.ToString(), logDTO.ChannelId.ToString(), logDTO.URL.ToString(), _
                         logDTO.ExceptionOrResult.ToString(), logDTO.AvblWorkerThread.ToString(), logDTO.AvblPortThread.ToString(), _
                         logDTO.AcqrdWorkerThread.ToString(), logDTO.AcqurdPortThread.ToString(), logDTO.JobsToProcess.ToString()}
  Dim lLogObj As Logging = New Logging(JobType.JOB_TRANSACTTIONAL)
  lLogObj.WriteLogFile(String.Join(Configuration.LogDelimiter, strArray))
End Sub

JobLogDTO

   public class JobLogDTO
  {
    public string  Mode { get; set; }
    public string  UniqueId { get; set; }
    public string  ThreadId { get; set; }
    public string  StartTime { get; set; }
    public string  FinishTime { get; set; }
    public string  TimeTaken { get; set; }
    public string  PropertyId { get; set; }
    public string  ChannelId { get; set; }
    public string  URL { get; set; }
    public string  ExceptionOrResult { get; set; }
    public string  AvblWorkerThread { get; set; }
    public string  AvblPortThread { get; set; }
    public string  AcqrdWorkerThread { get; set; }
    public string  AcqurdPortThread { get; set; }
    public string  JobsToProcess { get; set; }
  }

更新:
logDTO オブジェクトの値

         AcqrdWorkerThread  "24"    String
        AcqurdPortThread    "24"    String
        AvblPortThread      "400"   String
        AvblWorkerThread    "399"   String
        ChannelId           Nothing String
        ExceptionOrResult   Nothing String
        FinishTime          Nothing String
        JobsToProcess      "24" String
        Mode               "Parallel"   String
        PropertyId          Nothing String
        StartTime          "04.04.2013 12:17:25"    String
        ThreadId           "5"  String
        TimeTaken          Nothing  String
        UniqueId           "97693c1b-2bbc-4e40-a542-291568aeee4c"   String
        URL                Nothing  String
4

1 に答える 1

1

通常.ToString()、関数 any の値をinstance同等のstring表現に変換します。しかし、ここではあなたinstanceは何もありません。そのため、例外が発生していますReferenced object has value of nothing

あなたの場合に使用できることをお勧めしますTrim()。渡されたがempty stringであっても、単純に を返します。argumentnothing

元:

trim(logDTO.Mode)
于 2013-04-04T07:03:16.583 に答える