Ваш внешний класс не должен ничего знать о текстовом поле. Он может знать о вашей форме, чтобы отправить туда результат, но элементы принадлежат форме и не должны быть доступны (это называется инкапсуляцией).
Я предлагаю вам иметь значимый метод в вашей форме, что-то вроде ShowListOfUsers (пользователи) или что бы вы ни делали, вызывайте его соответствующим образом, чтобы его можно было понять внешне.
Затем в этом методе вы помещаете результат в элементы управления (текстовое поле), как хотите.
Я также предлагаю вам иметь интерфейс для формы, который будет содержать такие поведенческие методы, и в вашем окне реализован этот интерфейс, что-то вроде:
public interface IOrderView
{
void ShowOrderDiscount(result);
}
так что ваш внешний класс будет знать только об интерфейсе, а не об окне, текстовом поле и т. Д.
Теперь ваш компонент запроса тривиален:
public class SomeOperation
{
private readonly IOrderView _view;
public SomeOperation(IOrderView view)
{
_view = view;
}
public void DoSomething(parameters)
{
var result = GetMyComplicatedResult();
_view.ShowResult(result);
}
}
Приведенный выше код не идеален (поскольку я не знаю, каков ваш сценарий), но идея есть.
Удачи.