ビューにインテリセンスを提供するために、いくつかのカミソリ構文を使用できます。
@inherits MyNamespace.MoreNamespace.MyCustomRazorModel<MyModelType>
MyCustomRazorModel
required などのメソッドを実装している限りWrite
、WriteLiteral
すべてが正しく機能し、ビューで次を使用できます。
@MyProperty
次のような定義があると仮定します。
public class MyCustomRazorModel<T>
{
public string MyProperty { get; set; }
}
テンプレートに必要なモデルで再利用できるように、バッキング Razor 実装はおそらくジェネリックにする必要があります。これは、Razor エンジンが ASP.NET で動作する方法でもあり、プロパティでモデルを公開する汎用モデルを提供し@Model
ます。
編集
たとえば、次のクラスを見て、フレームワーク担当者がどのようにそれを行ったかを確認してください。
http://msdn.microsoft.com/en-us/library/gg402107(v=vs.108).aspx
これは、ASP.NET の RazorEngine のバッキング ビューです。スタンドアロンの実装では、このように継承するビューのバッキング タイプを作成します。