m.r.m.40 Ответов: 1

Наследование, как дать функцию классу, то многие другие имеют ее в своем определении.


Привет,
Заранее спасибо, что потратили время на чтение этого вопроса и помогли мне.

Допустим, у меня есть программа с 10 windows forms. теперь я хочу, чтобы все они имели определенную уникальную функцию, я не хочу переписывать ее 10 раз, я хотел бы поместить эту функцию в класс, а затем другие классы могут иметь эту функцию в своей реализации.

Что я уже пробовал:

В настоящее время я ищу его, и все же я понятия не имею о нем.

1 Ответов

Рейтинг:
2

OriginalGriff

Самый простой способ, если создать новый класс на основе формы:

public class MyForm : Form
   {
   ...
   public string MethodAvailableInAllDerivedClasses(string parameter)
      {
      ...
      }
   ...
   }
А затем измените все ваши "реальные" формы, чтобы они производились из этого, а не непосредственно из формы.


m.r.m.40

Да, это сработало.
спасибо,
Теперь остается только один вопрос: как это сделать с помощью usercontrols?

OriginalGriff

- Простите?
Это не имеет никакого смысла для меня - помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли: мы получаем только то, что вы печатаете для работы, мы не получаем никакого контекста, который вы предполагаете о проекте.
Поэтому объясните, где именно UserControls вписываются в это и почему они вызывают у вас проблемы.

m.r.m.40

Извините,
Допустим, это приложение с 10 формами и 10 пользовательскими элементами управления.
Я мог бы сделать так, чтобы все формы наследовались от базового класса и включали ту функциональность, которую я хочу, но usercontrols не могут иметь эту функциональность внутри себя, я опубликую эту проблему как новый вопрос и свяжу ее здесь, потому что это будет другой вопрос.

BillWoodruff

"usercontrols не могут иметь такую функциональность внутри себя, "

почему это ?

OriginalGriff

Я предполагаю, потому что это влияет на форму, в которую встроен UC, и это нет-нет от OOPs POV.