코딩하는 동안 열거 형을 읽는 것이 정말 좋습니다. 최근에 나는 키워드 목록을 받아 들일 필요가 있고 각각이 하나의 행동을 수행 할 작업을 발견했다.열거 형 설계 지침이 필요합니다.
예 키워드 : 이 String whatImGoingToMake = Keywords.BREAKFAST("banana").getPopularRecipe();
생각이 여기에이 성분으로 바나나와 함께 인기있는 아침 식사 요리법을 얻을 수 있습니다 : 아침 식사, 점심 식사, 저녁 식사
그래서 내가하고 싶은는 다음과 같이 쓸 수있다. 나는 그것이 작동 할 수 있어야 반사를 사용하여 생각한 이후로 이것을 생각했습니다.
문제는 정적이 아니기 때문에 getPopularRecipe()를 호출 할 수 없으며 내부 클래스에는 허용되지 않는다는 것입니다.
저는 정답입니다. 열거 형이 이와 같이 뭔가를하고 대신 클래스를 사용하도록 강요하지 않는 것이 맞습니까? 다음 코더가 가장 쉽게 이해할 수 있도록 구현하는 방법은 무엇입니까?
어쩌면 늦은 것이기 때문에이 시점에서 고민 중입니다.
나는 가능한 한 많은 IF 문 또는 switch 문을 사용하지 않기 위해 노력하고 있습니다. 나는 그 (것)들을보고 모든 희생을 치르면서 그들을 피하는 것을 좋아하지 않는다. 그래서 같은 것을 쓰고 싶지 않아 : 내가 제대로 질문을 이해한다면, 당신은 abstract
이 필요
public enum MyUtil {
BREAKFAST {
public String getPopularRecipe(String ingredient) {
//do something with ingredient
return recipe;
}
},
LUNCH {
public String getPopularRecipe(String ingredient) {
//do something with ingredient
return recipe;
}
}
}
때때로 if 문이 올바른 선택이고 아무런 해가 없습니다 그들을 사용하여. – Swapnil
마지막 예를 잘못 들었습니까? 그것은 당신이하고 싶은 것을 완벽하게 허용합니다. – tcb
아마 C#에서 내 배경으로 인해,이 '열거 형'같지 않습니다. ('Keywords.BREAKFAST ("banana")'어떻게 함수 호출이라고 생각하는지) –