public static string GetStringFldOrAutoProp(this ClrObject clrObject, string fieldName) { if (clrObject.HasSameNameField(fieldName)) { return(clrObject.GetStringFld(fieldName)); } var autoProp = MemoryDiagnostics.StringUtil.ProduceAutoPropertyName(fieldName); return(clrObject.GetStringFld(autoProp)); }
public override IClrObjMappingModel ReadEntity(ClrObject obj, ModelMapperFactory factory) { ClrObject fld = obj.GetRefFld(entriesTableFldName); List <Tuple <ClrObject, ClrObject> > values = ClrCollectionHelper.EnumerateHashtable(fld); var hashtable = new Hashtable(values.Count); foreach (var keyValuePair in values) { ClrObject val = keyValuePair.Item2; if (val.IsNullObj) { continue; } var key = val.GetStringFld("Key"); ClrObject value = val.GetRefFld("Value"); if (key == null || value.IsNullObj) { continue; } IClrObjMappingModel valModel = factory.BuildModel(value); hashtable.Add(key, valModel); } var hashTableMapping = new HashtableMappingModel(hashtable, obj); return(hashTableMapping); }
public object Read(ClrObject obj, string fldName) { return(obj.GetStringFld(fldName)); }