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