Лучшая практика для нескольких форм доступа к одному и тому же методу - PullRequest
0 голосов
/ 12 января 2020

фоном к моему вопросу является то, что я делаю несколько домашних проектов, и я начинаю понимать некоторые вещи в моем программировании. Но я наткнулся на то, что заставило меня задуматься; я должен писать один и тот же код снова и снова в каждой из форм. Это не может быть правдой.

Итак, допустим, у меня есть фрагмент кода, который обрабатывает перехваты в лог-файл. Он хорошо работает с моей формой и выводит уловы структурированным образом с отметкой времени и из какого метода произошла ошибка. Можно ли повторно использовать код в form1, получая доступ к нему из form2, и если у form2 есть перехват, он отправит параметр в form1 и напечатает его в лог-файле, а также, возможно, даже вернет значение в form2.

Это возможно или должно быть переписано в form2. И если это возможно, как можно получить к нему доступ?

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

Спасибо!

1 Ответ

2 голосов
/ 12 января 2020

Вам нужно будет создать класс, который имеет тот общий метод, который возвращает выходные данные, которые могут распознавать обе формы. Затем каждая форма будет ссылаться на этот класс и использовать этот общий метод. Это базовый c принцип объектно-ориентированного программирования.

Вы также можете использовать ссылочную переменную в этом методе, что означает, что вам не нужно обязательно возвращать что-либо в форму. Это известно как передача по ссылке. Подробнее: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/ref

Я не совсем уверен в наилучшей практике, но предложил бы иметь метод logToFile в классе регистратора, который может использоваться обеими формами. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...