2015-04-08 5 views
0
Объект

имеет все свойства класса xmlparser и datalog_session. Теперь мне нужно распечатать все свойства и dts объектов в richtextbox. Что мне делать?Как распечатать структуру объекта?

OpenFileDialog ofd = new OpenFileDialog(); 
ofd.Filter = "XML files|*.xml"; 
if (ofd.ShowDialog() == DialogResult.OK) 
{ 
    txtPath.Text = ofd.FileName; 
    XMLParser objxmlparser = new XMLParser(); 
    ArrayList al = objxmlparser.readDataLogXml(txtPath.Text); 
    for (int i = 0; i <al.Count ; i++) 
    { 
     //Getting Object of DataLog_Session 
     Datalog_Session dts = (Datalog_Session)al[i]; 

     // 
     richTextBox1.AppendText(dts.BaseID); 
     richTextBox1.AppendText(dts.TWA_Time_Base.ToString()); 
     richTextBox1.AppendText(dts.User); 
     //richTextBox1.AppendText(dts.Time_Stamp); 
     richTextBox1.AppendText(dts.Recording_Interval.ToString()); 
     richTextBox1.AppendText(dts.Comments); 
     richTextBox1.AppendText(dts.Reason_Code.ToString()); 
     richTextBox1.AppendText(dts.Session_Number.ToString()); 
     richTextBox1.AppendText(dts.SN); 
    } 
} 
+0

Вы можете написать метод расширения для класса Datalog_Session, который будет возвращать нужный формат. – wonderbell

+0

уже метод написан в datalog_session() в классе datalogSession, который возвращает тот же формат для печати на richtextbox –

+0

Итак, я думаю, вы можете вызвать этот метод для добавления текста в цикл for, не так ли? – wonderbell

ответ

1

Вы должны переопределить метод .ToString() для вашего класса.

public class Datalog_Session 
{ 
    // ... 

    public override string ToString() 
    { 
     return String.Format("Value for foo: {0}, value for bar: {1}", 
      this.foo, this.bar) 
    } 
} 

Затем в коде

Datalog_Session dts = (Datalog_Session)al[i]; 

richTextBox1.AppendText(dts.ToString());