Пример #1
0
            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);
            }
Пример #2
0
 internal ReflectedPropertyCollectionEnumerator(ReflectedPropertyCollection collection)
 {
     _collection = collection;
     _index      = 0;
     _current    = null;
 }