Как и большинство программ, пользователи могут указать, как они хотели бы обрабатывать определенные вещи. В моем случае пользователи могут указать, какое форматирование они предпочитают. Есть 3 варианта, оставить неформатированный, верблюжьей кейс или подходящий случай. В настоящее время я работаю, но он чувствует себя очень неуклюжим и повторяющимся. Здесь есть джист класса.Как вы обрабатываете пользовательские настройки?
public static class Extensions
{
public static string GetPreferenceFormattedText(this string text, ApplicationPreferences applicationPreferences, bool pluralize)
{
if (applicationPreferences.FieldNamingConvention.Equals(FieldNamingConvention.SameAsDatabase))
return text;
string formattedText = text.Replace('_', ' ');
formattedText = formattedText.MakeTitleCase();
formattedText = formattedText.Replace(" ", "");
if (applicationPreferences.FieldNamingConvention.Equals(FieldNamingConvention.Prefixed))
return applicationPreferences.Prefix + formattedText;
return applicationPreferences.FieldNamingConvention.Equals(FieldNamingConvention.CamelCase)
? formattedText.MakeFirstCharLowerCase()
: formattedText;
}
}
Метод сам по себе не чувствует себя неуклюжим. Так оно и называется. Всегда иметь возможность передавать пользовательские настройки каждый раз, когда я хочу получить отформатированный текст, не похоже на лучший способ. Будет ли я лучше создавать обычный класс и передавать объект предпочтений приложения через конструктор?
спасибо.
Woah, спасибо. Это намного проще проверить и управлять. – Mike