示例#1
0
        /// <summary>
        /// Resolves the specified property name.
        /// </summary>
        /// <param name="name">The property name to resolve.</param>
        /// <returns>The resolved property name.</returns>
        public string ResolvePropertyName(NamingStrategy namingStragegy, string name)
        {
            switch (namingStragegy.Kind)
            {
            case NamingStrategyKind.Default:
            {
                return(Default.ResolvePropertyName((DefaultNamingStrategy)namingStragegy, name));
            }

            case NamingStrategyKind.CamelCase:
            {
                return(CamelCase.ResolvePropertyName((CamelCaseNamingStrategy)namingStragegy, name));
            }

            case NamingStrategyKind.SnakeCase:
            {
                return(SnakeCase.ResolvePropertyName((SnakeCaseNamingStrategy)namingStragegy, name));
            }

            default:
            {
                throw XExceptions.NotSupported.EnumerationValueIsNotValid();
            }
            }
        }