2011-10-04 9 views
3

私はIIdentityIPrincipalを追加して、IIdentityにいくつかのプロパティを追加します。強く入力した@ User.Identity

私のカスタムクラスに強く型付けされたインスタンス@User.Identityを取得できますか?キャストでコンバージョンを行う必要はありません。

私は、剃刀のようなものを考えて、ビューをカスタマイズしましたが、どこから始めるべきかはわかりません。

答えて

3

あなたはIPrincipal

public static class PrincipalExtensions 
{ 
    public static MyIdentity GetMyIdentity (this IPrincipal principal) 
    { 
     return principal.Identity as MyIdentity; 
    } 
} 

に拡張メソッドを作成してみてください、その後、あなたはあなたの意見のための新しい基本型を作成し、それにプロパティやメソッドを追加することができ@User.GetMyIdentity()

3

を呼び出すことによって、あなたのアイデンティティを得ることができますそれはキャスティングを行います。そうすれば、あなたはいつでもあなたの意見を避けることができます。

+0

+1「フィン破損」とは何ですか? –

+0

も ​​"フィンの破損"を理解していませんでした。 ViewBaseをカスタマイズする方法を説明する良い記事はどこにありますか(剃刀に基づいて) – ridermansb

+1

@adrift申し訳ありませんが、私の一部にいくつかの奇妙なタイプミス。意味 "方法"。 – marcind

関連する問題