タイプ名を指定する属性を持つ汎用ASP.NETサーバーコントロールを構築しています。私はコントロールビルダーを使用して、コントロールの汎用バージョンを生成するために、属性値をType.GetType(string)
に渡します。これは素晴らしいです。しかし、私が指定するタイプは、私はこのような構文を使用する必要があり、一般的なものであれば:Type.GetType(文字列) "Generic <T>"構文を使用していますか?
<gwb:GenericControl runat="server"
TypeName="System.Collections.Generic.List`1[System.String]" />
私はこのようにそれを入力できるようにしたいと思います:
<gwb:GenericControl runat="server"
TypeName="System.Collections.Generic.List<System.String>" />
私が知っています私は手動で角括弧の値を解析し、それらを角括弧に変換し、適切なバックティック・数値接頭辞を追加することができましたが、この変換を行う組み込みの方法があるかどうか疑問に思っていましたか?私はGeneric<T>
の構文がC#(または少なくともVB.NETでは異なる)であると仮定しているので、他の言語固有の構文も解析する必要があります。
Page
ディレクティブのInherits
属性でASP.NET MVCがこれを実行していることに気がつきましたが、わかりません。
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<MyModel>" %>
ASP.NET MVCフレームワークもこのルールに違反しているのではなく、XMLディレクティブの一部と見なされないPageディレクティブですか? – GWB
PageディレクティブはXMLドキュメントの一部ではありません。 <%@ and %>は、ASPXコンパイラによってすべて処理される、義務的なものの間のもののような、インラインコードのカテゴリに入れます。ページがXMLバリデーターを介して送信される前に、すべて処理され、取り除かれるか、マークアップに変わります。 – jrista