どうやら、ASP.NET Web フォーム ページおよびビューで<%= %>
コンストラクト ( render block ) を使用して、書式設定された出力を書き込むことが可能です。
<%= "{0} is {1}", "Foo", 42 %>
これにより、「Foo is 42」がレンダリングされます。私の知る限り、ASP.NET パーサーは<%= %>
への呼び出しに変換されHttpResponse.Write(string)
ます。上記のコードでは明らかに、1 対 1 の変換はありません。これは、引数の数が一致しないためです (,
上記の式の が引数を分離していると仮定します)。
これで、クラスTextWriter
にWrite(string, object[])
メソッドがあることがわかりました。
パーサーからの出力を確認しましたが、実際には、フォーマットTextWriter
の引数を受け入れる 's メソッドを呼び出します。params object[]
private void @__Renderform1(System.Web.UI.HtmlTextWriter @__w, System.Web.UI.Control parameterContainer) {
// ...
@__w.Write( "{0} is {1}", "Foo", 42 );
その動作はどこかに文書化されていますか?