Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
 }