RichTextBox имеет свойство Lines , которое возвращает массив всех строк в элементе управления. Просто присоединитесь к массиву с помощью вашего желаемого клей:
Dim products As String = String.Join(";", txt_distributorProducts.Lines)
Также для того, что это стоит, вы не можете использовать экранированные строки в Visual Basic .NET, как в C #. Эквивалент \n
в Visual Basic - Environment.NewLine
.
Я думаю, что это вопрос предпочтений, мне нравится назначать промежуточное ПО для маршрута, поэтому мне не нужно исключать определенные методы в контроллере, плюс гораздо проще узнать, какие маршруты используют промежуточное ПО, просто посмотрев на маршруты файл.
удобнее указать промежуточное ПО в конструкторе вашего контроллера.
Это просто означает, что у вас больше контроля над каждым методом, если вы используете его в конструкторе вашего контроллера, так что вы можете указать определенные правила на уровнях методов.
Но когда вы назначаете маршруты, вы можете контролировать только правила маршрутов.
Спасибо за ваш вопрос, как уже упоминалось ранее, в большинстве случаев это решение принимается командой, с которой вы работаете. Исходя из моего личного опыта, я могу только объяснить вам, почему мы решили использовать определение промежуточного программного обеспечения в файле маршрутов вместо контроллера.
В больших приложениях есть много случаев дюжины контроллеров. С учетом вышесказанного могут быть случаи, когда вам придется изменить какое-либо имя промежуточного программного обеспечения. Если вы определите его в группе маршрутов, вам придется изменить только одну строку кода, но если вы определите это в конструкторе, вам придется перейти к каждому контроллеру и изменить его.
Некоторые компании используют контроллеры, чтобы вводить классы в него. Там может быть огромное количество инъекций и присваивания классов в самом конструкторе. Вот почему определение критических проверок не должно происходить на этом уровне кода.
Все зависит от вашего собственного выбора.
Я всегда предпочитаю использовать промежуточное программное обеспечение в маршруте как группу, которая поддерживает централизацию, и я могу легко их найти.
Route::group(['middleware' => ['middleware1']], function () {
// your routes under middleware1
});
Route::group(['middleware' => ['middleware2']], function () {
// your routes under middleware2
});