-2

この構造に関する情報を探していましたが、見つかりませんでした。誰かがこれを説明する時間があるか、説明されている URl を指す場合。

この定義は、次のように function sin web C# applications で見つけました。

  public static class PrincipalExtensions
{
    public static Site.Web.Models.SiteIdentity SiteIdentity(this System.Security.Principal.IPrincipal principal)
    {
       .....
       }

 }
4

2 に答える 2

6

これは拡張メソッドです。詳細については、次の記事を参照してください: http://msdn.microsoft.com/en-us/library/bb383977.aspx

短いバージョン : このコンストラクトを使用すると、クラスから継承できない (または継承したくない) 場合でも、いくつかのメソッドをクラス インスタンスで呼び出すことができます。保護されたまたはプライベートなメンバー/フィールド/メソッドへのアクセスは許可されません。

最も注目すべき使用法: System.Linq 名前空間の IEnumerable / IQueryable の拡張メソッド。

于 2012-08-16T13:53:35.537 に答える
2

これは、カスタム タイプのオブジェクトを返すIPrincipalの拡張メソッドです。 Site.Web.Models.SiteIdentity

プリンシパル オブジェクトは、コードが実行されているユーザーのセキュリティ コンテキストを表します。これには、そのユーザーの ID (IIdentity) とユーザーが属するロールが含まれます。

于 2012-08-16T13:55:08.547 に答える