Привет.
почитал про сабж, но ответа не нашел на свою проблему.
У меня есть в базе 2 таблицы: Ошибки и ТипыПриложений. В таблице Ошибки есть внешний ключ "Тип приложения".
Соотвественно в проекте ORM у меня есть 2 сущности Error и ApplicationType.
Также я завел enum который представляет собой значений из таблицы ТипыПриложений и назвал его ApplicationType (также как и сущность)
Теперь, у меня есть контролер логирования с таким методом.
AddError(string errorMsg, enum appType)
{
DomainService.AddNewError(new Error { ....});
}
Этот метод контролера выывается из морды (asp.net приложение) и я в него хочу передавать константой уже id приложения сопоставленного с его значением в базе в виде enum.
Сам id приложения будет храниться в конфиге.
Вопрос: как разрулить конфликт имени сущности и названия enum?
P>Вопрос: как разрулить конфликт имени сущности и названия enum?
class ApplicationType {
}
enum ApplicationTypeValue {
APPLICATION_FOO(1),
APPLICATION_BAR(2);
protected ApplicationTypeValue(long id) {
...
}
public ApplicationType toType() {
return new ApplicationType(id);
}
public static ApplicationTypeValue valueOf(ApplicationType type) {
switch (type.getId()) {
case 1: return APPLICATION_FOO;
case 2: return APPLICATION_BAR;
default: throw new IllegalArgumentException("type");
}
}
}
Здравствуйте, Baudolino, Вы писали:
[...]
а как же пункт
Do not use an Enum suffix on Enum type names.
отсюда ?
по сути то что вы добавили Value эквивалентно Enum
P>отсюда ?
P>по сути то что вы добавили Value эквивалентно Enum
Ну если так говорит NC, то могу предложить KnownApplicationType (поскольку в перечислении будут описаны только заранее известные типы приложений)