Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для Levon_K
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 12

Как удалить свойство при наследовании?

27.02.2014, 09:18. Показов 3738. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Подскажите как удалить свойство или скрыть его у контрола при наследовании?
Допустим есть TextBox. Наследую его в MyTextBox.
И при использовании класса MyTextBox в каком либо проекте нужно чтобы не было свойства (допустим "Multiline" или "Enabled"). Как быть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2014, 09:18
Ответы с готовыми решениями:

Можно ли сделать свойство приватным при наследовании класса?
Допустим, мне нужно наследовать класс Button(windows forms) и сделать недоступным изменение параметра Size, как это можно реализовать?

Как работает деструктор и конструктор при наследовании?
Возникла проблемка, не пойму, как работает деструктор и конструктор в моей программе. Я не вызываю явно конструктор, как в этом случае...

Как удалить свойство в классе
привет . Как удалить свойство в классе?(Незнаю насколько этот прием уместен в рамках ООП,наверно нет) class Product { static...

7
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
27.02.2014, 10:54
Levon_K, нельзя запретить наследование блин методов или чего-нибудь еще. Почитайте про принцип подстановки Лисков LSP что ли...
1
 Аватар для Levon_K
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 12
27.02.2014, 11:22  [ТС]
Решено! Извиняюсь если не правильно сформулировал вопрос. Вот код который помог добиться того чего нужно было.
C#
1
2
3
4
5
6
[Browsable(false),EditorBrowsable(EditorBrowsableState.Never)]
        public new bool Enabled
        {
            get { return base.Enabled; }
            protected set { base.Enabled = value; }
        }
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
27.02.2014, 11:24
Levon_K, да ну?
C#
1
2
3
4
5
MyTextBox mytextbox = new MyTextBox();
...
 
TextBox textbox = (TextBox) mytextbox;
textbox.Enabled = !textbox.Enabled;
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
27.02.2014, 11:27
Цитата Сообщение от Levon_K Посмотреть сообщение
И при использовании класса MyTextBox в каком либо проекте нужно чтобы не было свойства (допустим "Multiline" или "Enabled"). Как быть?
Что значит не было? Программист не мог вызвать или в дизайнере не было?

Если в дизайнере то можно сделать так

C#
1
2
3
4
5
6
7
8
9
 public class MyTextBox : TextBox
    {
        [Browsable(false)]
        public override bool Multiline
        {
            get { return base.Multiline; }
            set { base.Multiline = value; }
        }
    }
Если для программиста, то никак.
0
 Аватар для Levon_K
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 12
27.02.2014, 11:53  [ТС]
Именно для программиста...

Добавлено через 42 секунды
Добавлено через 1 минуту
Цитата Сообщение от Psilon Посмотреть сообщение
Levon_K, да ну?
C#
1
2
3
4
MyTextBox mytextbox = new MyTextBox();
...
TextBox textbox = (TextBox) mytextbox;
textbox.Enabled = !textbox.Enabled;
Значит всё таки "Почитайте про принцип подстановки Лисков LSP что ли..."?
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
27.02.2014, 11:57
Цитата Сообщение от Grishaco Посмотреть сообщение
Если для программиста, то никак.
Возможно ObsoleteAttribute поможет
0
 Аватар для Levon_K
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 12
05.03.2014, 13:29  [ТС]
Всем спасибо! Проблему решил наследованием от Control вместо TextBox и прорисовкой с помощью Graphics.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2014, 13:29
Помогаю со студенческими работами здесь

Как дополнить вложенный класс при наследовании внешнего?
Допустим, есть класс B, лежащий в классе A. Каким образом класс D, лежащий в C (C наследует A), может наследовать класс B и изменить его?

EF маппит лишние поля при наследовании, как бороться?
С толкнулся с проблемой организации мэпинга при использовании ООП подходов. У меня есть классы типа Header, Image и другие, для...

Как обязать создавать статическое поле при наследовании
Здравствуйте, есть ли способ обязать программиста, наследующего класс, добавить определенное статическое поле? как с abstract для обычных...

Как скрывать в редакторе ненужные свойства и методы при наследовании?
Согласно MSDN есть базовый класс Control, Label является его наследником. Однако в Label скрыта часть свойств, событий и методов базового...

Как вернуть функцию, которая потерялась при наследовании классов?
Предположим есть два класса: class Parent { public: void foo() { std::cout << "parent foo " << std::endl; } }; class Child...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru