internal ReflectedPropertyCollection GetProperties() { if (_properties == null) { ReflectedPropertyData[] propertyArray; Dictionary <string, ReflectedPropertyData> propertyList = new Dictionary <string, ReflectedPropertyData>(10); Type baseType = _type; Type objType = typeof(object); do { propertyArray = ReflectGetProperties(baseType); foreach (ReflectedPropertyData p in propertyArray) { if (!propertyList.ContainsKey(p.Name)) { propertyList.Add(p.Name, p); } } baseType = baseType.BaseType; }while (baseType != null && baseType != objType); _properties = new ReflectedPropertyCollection(propertyList); } return(_properties); }
internal ReflectedPropertyCollectionEnumerator(ReflectedPropertyCollection collection) { _collection = collection; _index = 0; _current = null; }