2011-09-21 15 views

答えて

2

確かに!拡張機能の作成に慣れていない場合は、対象にVB.NETC#ガイドがあります。

System.Security.Principal.IIdentityインターフェイスを拡張する必要があります。例として:

宣言:

Imports System.Runtime.CompilerServices 

Module Extensions 

    <Extension()> 
    Function GetMyCustomProperty(anIdentity As System.Security.Principal.IIdentity, myParameter As Integer) As Object 

     Return New Object() 

    End Function 

End Module 

用途:

User.Identity.GetMyCustomProperty(4) 

NOTES:

  • C#コードは、FAでありますそれでは、拡張機能が一般的にどのように実装されているかについての ガイドを読む価値があります。この コードをVB.NET => C#コンバータで実行するだけでは不十分です。

  • 拡張子はメソッドのみである場合があります。カスタムプロパティをプログラムすることはできません。プロパティーに似た動作が必要な場合は、getter/setterメソッドを実装することを意味します。

EDIT:

コメントを見た後、私はあなたがユーザープロファイルに類似した粗な機能の並べ替えを提供するために、これをやっていると仮定します。この機能を使用するには、現在使用しているメンバーシップと一緒にプロファイルプロバイダを使用することを検討してください。

+0

拡張機能でカスタムプロパティが許可されていない場合、独自の状態を自分自身にどのように保存しますか? – blueberryfields

+0

彼らはしません。拡張機能は本質的に静的メソッドのように機能するので、拡張するオブジェクトの状態情報にアクセスしたり、状態データをバッキングストア(データベースなど)に移動したり、現在のユーザーのセッションバッグを ' HttpContext.Current.Session'。ユーザープロファイルを実装する場合は、プロファイルプロバイダを利用する方がよいでしょう。 – lsuarez

関連する問題