Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
3 / 3 / 0
Регистрация: 25.09.2009
Сообщений: 122

Набор конструкторов

25.09.2009, 14:42. Показов 1378. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Емеется множество и класс, в котором имеется свойство типа этого множества:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
enum Sides
{
   right,
   left,
   up,
   down
};
 
class My
{
   private Sides side;
   private string arg1;
   private int arg2;
   private bool arg3;
}
ВОПРОС: как сделать конструктор, который в зависимости от переданного значения side требовал бы разные аргументы по типу и количеству?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.09.2009, 14:42
Ответы с готовыми решениями:

Как заменить набор символов на другой набор
В Perl есть оператор tr//, который меняет одни символы на другие. Например: $code =~ tr/eopaxcm/еорахсм/; при этом латинская...

публичное наследование конструкторов
Я слышал, что в C++ №11 сделали возможность сделать public-наследование конструкторов (using чего-то там) Возможно ли как-нибудь сделать...

Ошибка компиляции: Для данного объекта не определено беспараметрических конструкторов
Дошёл в книге сандерсона MVC 3 до 160стр. где описывается работа с NInject/При компиляции выдаёт ошибку "Для данного объекта не...

5
 Аватар для Humanitis
176 / 168 / 27
Регистрация: 12.01.2009
Сообщений: 430
25.09.2009, 14:57
А конкретнее?
0
13 / 13 / 0
Регистрация: 12.08.2009
Сообщений: 64
25.09.2009, 15:11
А почему нельзя просто определить несколько конструкторов?

Цитата Сообщение от some777 Посмотреть сообщение
требовал бы
Это как?
Тем более, что
C#
1
private Sides side;
не static, а значит пока не создан экземпляр класса(объект) его(поля) просто не существует.

Добавлено через 11 минут
ЗЫ enum - не множество, а перечисление, а side, согласно вашему коду, - не свойство, а поле.
0
3 / 3 / 0
Регистрация: 25.09.2009
Сообщений: 122
25.09.2009, 15:29  [ТС]
на самом деле в перечислении 15 элементов и плодить столько конструкторов... думал, что можно сделать как то более красиво: в зависимости от элемента перечисления, который передается в конструктор передавать разное количество разных параметров. Как лучше тогда решить эту задачу?
0
13 / 13 / 0
Регистрация: 12.08.2009
Сообщений: 64
25.09.2009, 15:39
1) Пересмотреть логику программы.
2) По-моему достаточно одного конструктора, в котором проверяются значения полей аргумента-перечисления и на базе проверки объект инициализируется тем или иным способом.
Но мне всё же кажется, что вы неправильно спроектировали приложение.
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
25.09.2009, 15:43
some777,
в зависимости от элемента перечисления, который передается в конструктор передавать разное количество разных параметров.

public class Left {};
public class Right {};

...

public class Foo
{
public Foo(Left, ...) {}
public Foo(Right, ...) {}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.09.2009, 15:43
Помогаю со студенческими работами здесь

Использование конструкторов. Перегрузка конструкторов. Использование свойств
Помогите реализовать свойства, позволяющие осуществить проверку на допустимые значения для данных класса. using System; using...

Дан набор слов, разделенных точкой с запятой (;). Набор заканчивается двоеточием (:). Определить, сколько в
:wall: Плиз хелп. Не могу составить программу на шарпе: Дан набор слов, разделенных точкой с запятой ( ; ). Набор заканчивается двоеточием...

Набор данных,набор объектов
Помогите пожалуйста,синтаксиса не знаю . нужно для моего проекта создать данные ,общие для Program.cs , form1.cs , Form2.cs ; ...

Перезагрузка конструкторов
Это то что надо сделать Осуществить перегрузку конструкторов для класса. Особым методом реализовать метод run(), который будет...

Использование конструкторов и деструкторов
Решить в консольном режиме: Дан набор из N вещественных чисел. Проверить, образует ли данный набор возрастающую последовательность. Если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru