public override bool InspectChildren(Inspector inspector, string path, ref object data, Type type)
        {
            var c = data as IEnumerable;

            if (c == null)
            {
                return(false);
            }

            var hashsetValueType = TypeTools.FindGenericParamType(type, typeof(HashSet <>), 0);

            int  i       = 0;
            bool changed = false;

            foreach (var value in c)
            {
                Type valueType = value != null?value.GetType() : hashsetValueType;

                changed |= inspector.Inspect(i.ToString(), path + "." + i, value, valueType);
                ++i;
            }
            return(changed);
        }
Пример #2
0
 public override Type ValueType(object collection)
 {
     return(TypeTools.FindGenericParamType(collection.GetType(), typeof(Dictionary <,>), 1));
 }
 public override Type ValueType(object collection)
 {
     return(TypeTools.FindGenericParamType(collection.GetType(), typeof(List <>), 0));
 }