Catel.Runtime.Serialization.SerializationManager.GetCatelPropertyNames C# (CSharp) Method

GetCatelPropertyNames() public method

Gets the catel property names.
The is null.
public GetCatelPropertyNames ( Type type, bool includeModelBaseProperties = false ) : HashSet
type System.Type Type of the model.
includeModelBaseProperties bool if set to true, also include model base properties.
return HashSet
        public HashSet<string> GetCatelPropertyNames(Type type, bool includeModelBaseProperties = false)
        {
            Argument.IsNotNull("type", type);

            var key = GetCacheKey(type, includeModelBaseProperties);

            return _catelPropertyNamesCache.GetFromCacheOrFetch(key, () =>
            {
                var catelProperties = GetCatelProperties(type, includeModelBaseProperties);

                var finalProperties = new HashSet<string>();
                foreach (var property in catelProperties)
                {
                    finalProperties.Add(property.Key);
                }

                return finalProperties;
            });
        }

Usage Example

        /// <summary>
        /// Gets the member group.
        /// </summary>
        /// <param name="modelType">Type of the model.</param>
        /// <param name="memberName">Name of the member.</param>
        /// <returns>The <see cref="SerializationMemberGroup"/>.</returns>
        protected SerializationMemberGroup GetMemberGroup(Type modelType, string memberName)
        {
            var catelProperties = SerializationManager.GetCatelPropertyNames(modelType);

            if (catelProperties.Contains(memberName))
            {
                return(SerializationMemberGroup.CatelProperty);
            }

            var regularProperties = SerializationManager.GetRegularPropertyNames(modelType);

            if (regularProperties.Contains(memberName))
            {
                return(SerializationMemberGroup.RegularProperty);
            }

            return(SerializationMemberGroup.Field);
        }
All Usage Examples Of Catel.Runtime.Serialization.SerializationManager::GetCatelPropertyNames