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()); }
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); } }