Razor ビューから電子メールを生成するために RazorEngine 3 ( https://github.com/Antaris/RazorEngineTemplateBase<T>
の Antaris フォーク) を使用しており、EmailTemplateBase<T>
.
Viewsディレクトリの web.config には、基本型が適切に設定されています。
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="EmailTemplateBase`1[[EmailModelBase]]">
...
EmailTemplateBase<T>
Visual Studio (2012) を再起動した後、IntelliSense を介して定義されたプロパティにアクセスできることも確認できます。問題は、その基本クラス (TemplateBase) で定義されたパブリック プロパティが、特にIntelliSense を介してアクセスできないことです_Layout
。Model
これらのプロパティを複製すると、次のようになりますEmailTemplateBase<T>
。
public new T Model
{
get { return base.Model; }
set { base.Model = value; }
}
しかし、私はこれを行う必要はありません。確かにもっと良い方法があるはずですか?Visual Studio の Razor コード エディターが基本クラスのプロパティを認識できないのはなぜですか?