|
Си-решеточник
141 / 135 / 60
Регистрация: 07.02.2011
Сообщений: 669
|
|
Передача структур и их параметров методу13.06.2014, 12:24. Показов 8193. Ответов 4
Метки нет (Все метки)
Всем привет.
Вот какая у меня возникла задача: Есть несколько структур. У каждой структуры есть n-ное количество параметров. Нужно создать такой метод, которому можно передать как параметр любую с этих структур и параметр, который нужно поменять (значение, на которое нужно параметр менять, будет найдено в самом методе исходя из названия параметра). Мысли меня привели к такой реализации: создаем класс с параметрами structRef - Ссылка на структуру (тип object) structType - Название структуры (тип String) parName - Название параметра (тип String) И вот надо структуру structRef привести к типу, записанному в structType и в полученной структуре установить параметру с названием parName некоторое значение. Не знаю, насколько бредовая такая реализация, но таким образом можно будет метод, который занимает около 200 строк уменьшить в разы. P.S. Если подобное слишком сложно в реализации, то поменяю структуры на классы и благодаря наследованию эта проблема решится. Но это в крайнем случае. Заранее спасибо все, кто откликнется.
0
|
|
| 13.06.2014, 12:24 | |
|
Ответы с готовыми решениями:
4
Странности при передаче параметров методу (ref out ) Передача объектов методу Передача аргумента методу |
|
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
| 13.06.2014, 12:30 | |
|
покажи структуры , и по каким критериям выбирается член структуры, который нужно изменить. возможно есть другое решение
0
|
|
|
Си-решеточник
141 / 135 / 60
Регистрация: 07.02.2011
Сообщений: 669
|
||||||
| 13.06.2014, 12:34 [ТС] | ||||||
|
Поправка: передавать название структуры не обязательно, так как тип можно узнать с помощью GetType().
Добавлено через 2 минуты Вот структуры:
Член структуры передается методу, его не нужно выбирать самой программе.
0
|
||||||
|
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
| 13.06.2014, 12:34 | |
|
блин .ну тут наследование прям так и напрашивается
0
|
|
|
Си-решеточник
141 / 135 / 60
Регистрация: 07.02.2011
Сообщений: 669
|
|||||||
| 13.06.2014, 13:12 [ТС] | |||||||
|
Добавлено через 29 минут Вроде бы написал метод, который должен выполнять вышеуказанную задачу, но значение поля не меняется и ошибок при этом никаких нет... Мистика.
А, все, разобрался, метод работает, это я затупил. Всем спасибо за моральную поддержку
0
|
|||||||
| 13.06.2014, 13:12 | |
|
Помогаю со студенческими работами здесь
5
Передача массива методу по значению
Передача методу объекта в качестве параметра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|