ビューにインテリセンスを提供するために、いくつかのカミソリ構文を使用できます。
@inherits MyNamespace.MoreNamespace.MyCustomRazorModel<MyModelType>
MyCustomRazorModelrequired などのメソッドを実装している限り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 のバッキング ビューです。スタンドアロンの実装では、このように継承するビューのバッキング タイプを作成します。