2013-04-04 102 views
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; } 
    } 

UPDATE: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 
+1

什么logDTO和logDTO.Mode的价值? – 2013-04-04 06:24:07

+1

您是否检查logDTO是否为无。使用断点 – 2013-04-04 06:37:43

+1

@Adrian Godong:增加logDTO的价值。请找到更新的问题。 – Sunil 2013-04-04 06:48:08

回答

1

通常.ToString()功能的任何instance的为它的等效string再版的值转换esentation。但在这里你的instance是没有。这就是为什么它会提出例外Referenced object has value of nothing

我建议你可以在你的情况下使用Trim()。即使通过的argumentnothing,它也会简单地返回empty string

例:

trim(logDTO.Mode)