#region Constructors
internal Entry(string type, object data, bool autoconvert) {
- Entry e;
-
this.type = type;
this.data = data;
this.autoconvert = autoconvert;
get {
return data;
}
+
+ set {
+ data = value;
+ }
}
#endregion // Properties
}
public virtual object GetData(string format, bool autoConvert) {
+ Entry e;
if (autoConvert) {
- return Entry.FindConvertible(entries, format).Data;
+ e = Entry.FindConvertible(entries, format);
} else {
- return Entry.Find(entries, format).Data;
+ e = Entry.Find(entries, format);
}
+ if (e == null)
+ return null;
+ return e.Data;
}
public virtual object GetData(Type format) {
Entry entry;
Entry e;
- entry = new DataObject.Entry(format, data, autoConvert);
+ entry = Entry.Find(entries, format);
+
+ if (entry == null) {
+ entry = new DataObject.Entry(format, data, autoConvert);
+ } else {
+ entry.Data = data;
+ return;
+ }
lock (this) {
if (entries == null) {