Example #1
0
        public object[] МассивИзЭнумератора(object счетчик, object тип)
        {
            var cur = (IEnumerable)AutoWrap.ПолучитьРеальныйОбъект(счетчик);

            var  list = new List <object>();
            Type type = (Type)AutoWrap.ПолучитьРеальныйОбъект(тип);


            ДанныеДляТипа данныеДляТипа = ДанныеДляТипа.ПолучитьДанныеДляТипа(type);



            foreach (var str in cur)
            {
                if ((str == null) || !type.IsAssignableFrom(str.GetType()))
                {
                    list.Add(null);
                    continue;
                }


                var res = new AutoWrap(str, type);
                ДанныеДляТипа.ПрописатьПоля(res, данныеДляТипа);
                list.Add(res);
            }
            return(list.ToArray());
        }
Example #2
0
 public AutoWrap(object obj)
 {
     O = obj;
     if (O is Type)
     {
         T      = O as Type;
         ЭтоТип = true;
     }
     else
     {
         T                = O.GetType();
         ЭтоТип           = false;
         ЭтоExpandoObject = O is ExpandoObject;
         ДанныеДляТипа.Инициализировать(this);
     }
 }