Я пишу ASP.NET MVC Html Helper, который в основном принимает 2 HTML-помощника, которые возвращают IHtmlStrings и объединяют их вместе, а также возвращают как IHtmlString, например:
//this doesn't work
public static IHtmlString CompositeHelper(this HtmlHelper helper, string data)
{
//GetOutput returns an IHtmlString
var output1 = new Component1(data).GetOutput();
var output2 = new Component2(data).GetOutput();
return output1 + output2
}
Теперь я знаюне будет работать, потому что IHtmlString - это интерфейс с реализацией сложного типа, но если я пойду
return output1.ToHtmlString() + output2.ToHtmlString()
, я просто получу обычную строку, которая получает код HtmlEncoded при возврате из моего HtmlHelper.
Итак, мой вопрос: как я могу взять выходные данные из двух IHtmlString и объединить их в одну IHtmlString?