Этот вопрос сводил меня с ума в течение нескольких дней. Я думаю, что вопрос, который вам, возможно, придется задать, это «почему я должен свободно использовать API для диалоговых окон?»
Когда вы посмотрите на популярные свободно распространяемые API, вы заметите нечто общее с ними в том, что оно помогает пользователю свободно читать строку кода. Почти как предложение. Обратите внимание:
От Ninject:
Bind(typeof(IWeapon)).To(typeof(Sword));
От Мок:
mock.Setup(foo => foo.Execute("ping"))
.Returns(() => calls)
.Callback(() => calls++);
От матери всех беглых API, Linq:
var query = Products
.Where(p => p.Name.Contains("foo")
.OrderBy(p => p.Name);
Это хорошие API, которые предоставляют почти структуру предложений для их использования.
В качестве другого примера, как это:
Dialog.Buttons(buttons.Ok, buttons.Cancel).Title("").Text("")
Более читабельно и полезнее, чем
new Dialog()
{
Buttons = Buttons.OkCancel,
Title = "",
Text = ""
};
И это всего лишь простой пример. Я заметил, что вы спрашиваете, как собрать вещи вроде макета и т. Д. В одну строку кода. Боже мой, твои строки будут длинными.
Я думаю, вам нужно решить, действительно ли вы думаете, что свободный API приносит вам что-то здесь. Все, что я вижу, - это методы, которые устанавливают свойства в диалоговом окне и не обеспечивают читабельности или значения.