Catel.Data.PropertyDataManager.GetCatelTypeInfo C# (CSharp) Метод

GetCatelTypeInfo() публичный Метод

Gets the property data type information.
The is null.
public GetCatelTypeInfo ( Type type ) : CatelTypeInfo
type System.Type The type.
Результат CatelTypeInfo
        public CatelTypeInfo GetCatelTypeInfo(Type type)
        {
            Argument.IsNotNull("type", type);

            lock (_propertyDataLock)
            {
                if (!_propertyData.ContainsKey(type))
                {
                    RegisterProperties(type);
                }

                return _propertyData[type];
            }
        }

Usage Example

Пример #1
0
        /// <summary>
        /// Clears the <see cref="IsDirty"/> on all childs.
        /// </summary>
        /// <param name="obj">The object.</param>
        /// <param name="handledReferences">The already handled references, required to prevent circular stackoverflows.</param>
        private static void ClearIsDirtyOnAllChilds(object obj, HashSet <IModel> handledReferences)
        {
            var objAsModelBase   = obj as ModelBase;
            var objAsIEnumerable = obj as IEnumerable;

            if (objAsModelBase != null)
            {
                if (handledReferences.Contains(objAsModelBase))
                {
                    return;
                }

                objAsModelBase.IsDirty = false;
                handledReferences.Add(objAsModelBase);

                var catelTypeInfo = PropertyDataManager.GetCatelTypeInfo(obj.GetType());
                foreach (var property in catelTypeInfo.GetCatelProperties())
                {
                    object value = objAsModelBase.GetValue(property.Value);

                    ClearIsDirtyOnAllChilds(value, handledReferences);
                }
            }
            else if (objAsIEnumerable != null)
            {
                foreach (var childItem in objAsIEnumerable)
                {
                    if (childItem is ModelBase)
                    {
                        ClearIsDirtyOnAllChilds(childItem, handledReferences);
                    }
                }
            }
        }
All Usage Examples Of Catel.Data.PropertyDataManager::GetCatelTypeInfo