/// <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(); } } }