С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
5 / 5 / 2
Регистрация: 17.11.2016
Сообщений: 69

Запечатать метод переменной, для дальнейшего наследования

28.12.2016, 03:53. Показов 718. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, подскажите как можно реализовать
Ситуация:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class X
{
  public void x_method1()
  {
     /* Код */
  }
  
  public void x_method2()
  {
    /* код */
  }
}
 
public class Y
{
  public X X_Y = new X();
 
  public void Y_method()
  {
    X_Y.x_method1();
  }
}
 
public class Y_new : Y
{
  //Необходим, чтобы доступ к методу X_Y.x_method1, был закрыт
  public void Y_new_method()
  {
    X_Y.x_method2();
  }
}
Изначально решил так: т.к. метод Y_new, был частью другого проекта, а метод X.x_method1 был помечен как internal, поэтому доступ к нему из Y_new был закрыт.
Теперь пришлось все 3 класса разнести по отдельным проектам, поэтому интернал перестал работать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2016, 03:53
Ответы с готовыми решениями:

Как "запечатать" метод?
Всем доброго вечера=)) Ребята, мне очень сильно нужна ваша помощь!!! Как запечатать ( т.е. лишить возможности наследовать) метод,...

Очистить значение переменной для дальнейшего использования
#include <iostream> #include <conio.h> using namespace std; int main() { setlocale(LC_ALL, "Rus"); int a(1); a = a +...

Вытащить значение переменной для дальнейшего использования
Всем привет, хочу вытянуть значение переменной Вот как это место(где я ее хочу получить) выглядит namespace WindowsFormsApp4 ...

3
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
28.12.2016, 15:52
KhaidariN, https://msdn.microsoft.com/en-... 32254.aspx
0
5 / 5 / 2
Регистрация: 17.11.2016
Сообщений: 69
28.12.2016, 17:35  [ТС]
BozKurt, окей, я уже искал реализацию через дружественные методы, но везде писали, что на C# этого, нету. Спасибо, за инфу.

Но данное решение не совсем подходит мне. В дальнейшем возможно создание, других проектов на подобии Y, с использование X и таким же последующим наследование Y_new. При данном решении придется каждый Y проект прописывать в Х, как friend.

Наверное стоит уточнить задачу: необходимо в классе Y, указать, что для всех наследующих методов метод X_Y.x_method1, закрыт.

Идею как решить данную задача уже придумал: в проекте Y (Y_project), добавить класс X: X_project.X
C#
1
2
3
4
5
6
7
public class X: X_project.X
{
  internal new void x_method1()
  {
     base.x_method1();
  }
}
Но считаю этот метод слишком топорным, предполагаю, что есть более красивые решения.
0
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
28.12.2016, 19:04
KhaidariN, зачем тогда было переносить X в другую сборку, если ты всё равно вернулся к использованию модификатора internal?
Получается, что дело не в топорности, а уже в кривости нынешней архитектуры.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.12.2016, 19:04
Помогаю со студенческими работами здесь

метод создания двух массивов, для дальнейшего умножения их между собой
Помогите правильно описать метод создания двух массивов А и В. Как правильно записать все это??? Создание должно описываться в...

Чем отличаются структуры для наследования интерфейса от структур для наследования реализаций?
Дорогие программисты, во первых, хочу поздравить вас с Наступающим новым Годом! Я к вам обращаюсь с маленькой просьбой. Я никак не могу...

Метод не наследуется: правильная организация наследования и доступа
Представьте, есть класс Base и класс Child, который наследуется от него. Допустим, у класса Base есть 3 метода - A,B,C к которым мы можем в...

Метод для очистки string-переменной от ненужных символов
Друзья, помогите придумать работающий метод. Что имеем В переменной string хранится некое количество неких знаков. Знаки могут...

Переопределить метод/класс, который описан в другом модуле без наследования
Итак, есть желание работать над django saleor, но его архитектура совсем не модульная, тоесть нельзя просто взять поставить какойто модуль...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru