将对象引用存储到字典中

时间:2015-06-17 16:30:35

标签: c# .net

我有两个班级,如下所示

public class StoredData
{
    private int totalLoops;

    [XmlElement("TotalLoops")]
    public int TotalLoops
    {
        get { return totalLoops; }
        set { totalLoops = Math.Abs(value); }
    }

    [XmlArray("LoopTypes"), XmlArrayItem("LoopType", typeof(LoopType))]
    public Dictionary<int, LoopType> loopTypes;

}

还有第二节课

public class LoopType
{

    public LoopType() { }

    [XmlIgnore]
    public TimeSpan StartTime;
    [XmlIgnore]
    public TimeSpan EndTime;

    [XmlAttribute(DataType="duration")]
    public string startTime
    {
        get { return XmlConvert.ToString(StartTime); }
        set { StartTime = String.IsNullOrEmpty(value) ? TimeSpan.Zero : XmlConvert.ToTimeSpan(value);}
    }

    [XmlAttribute(DataType = "duration")]
    public string endTime
    {
        get { return XmlConvert.ToString(EndTime); }
        set { EndTime = String.IsNullOrEmpty(value) ? TimeSpan.Zero : XmlConvert.ToTimeSpan(value); }
    } 
}

我使用以下代码将'LoopType'的对象添加到字典中。

StoredData data = new StoredData();
LoopType1 looptype = new LoopType();
looptype.StartTime = new TimeSpan(starthourtext, startminutetext, startsecondtext);
looptype.EndTime = new TimeSpan(endhourtext, endminutetext, endsecondtext);
data.loopTypes.Add(1,looptype);

首先代码工作正常,但是当我想从字典中检索数据时,我想在字典中找到存储对象的'StartTime'。为此,我尝试了以下代码。

LoopType looptype;
data.loopTypes.TryGetValue(1, out looptype);

但我无法检索'StartTime'值。它没有显示intellisense中的任何属性。任何帮助将不胜感激。

0 个答案:

没有答案