public GetCatelPropertyNames ( |
||
type | Type of the model. | |
includeModelBaseProperties | bool | if set to |
리턴 | 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;
});
}
/// <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); }