Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2011, 12:30   #1
vjmap
Новичок
Джуниор
 
Регистрация: 05.10.2011
Сообщений: 2
По умолчанию Enum в обьект.

Есть большой энум. Требуется чтобы функция возвращала новый соответсвующий обьект при передаче ей значения энума.

Я сделал это через свитч.

switch(effect)
{

case Effects.EnyrgyBlow:
result = new EnyrgyBlow();
break;

case Effects.MetalHit:
result = new MetalHit();
break;

....
return result

Понятное дело должны быть нормальные методы для решения этой садачи.
vjmap вне форума Ответить с цитированием
Старый 06.10.2011, 08:24   #2
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

Цитата:
Сообщение от vjmap
Понятное дело должны быть нормальные методы для решения этой садачи.
Это нормальное решение. Можно, конечно, по извращаться с рефлексией, но оно того не стоит.

UPD:
А что представляют из себя эти классы эффектов? Может стоит сделать базовый класс, потом загружать в словарь параметры эффектов из файла, и обращаться к ним по имени:
Код:
effects["EnyrgyBlow"].Show или Create;
#include <мозг.h>

Последний раз редактировалось Руслантус; 06.10.2011 в 09:02.
Руслантус вне форума Ответить с цитированием
Старый 08.10.2011, 11:16   #3
vjmap
Новичок
Джуниор
 
Регистрация: 05.10.2011
Сообщений: 2
По умолчанию

Нет, хагружать параметры не получится, там разная алгоритмика одних и тех же функций. А превращать один класс в блоб с кучей профайлов не представляется возможным из-за большого количества эффектов - 50+

Придумал тут одно решение. Но там есть один вопрос как имея обьект A класса Class создать новый обьект B, не используя обычный алгоритм B=new Class();
vjmap вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ преобразование enum в string world12_tk Помощь студентам 14 04.10.2011 03:28
Не работает перечисление (enum). Casper-SC Общие вопросы .NET 3 01.02.2010 18:16
enum Syltan Общие вопросы C/C++ 6 26.11.2009 19:24
Вопрос о перечислениях: enum DR&FG Общие вопросы C/C++ 2 24.10.2009 18:12
Работа с enum istoe Microsoft Office Excel 2 28.08.2009 12:53