-2

我正在寻找有关此结构的信息,但找不到;因此,如果有人有时间解释这一点或指向一些解释它的 URL。

我在函数 sin web C# 应用程序中找到了这个定义,例如:

  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

主体对象表示代表其运行代码的用户的安全上下文,包括该用户的身份 (IIdentity) 和他们所属的任何角色。

于 2012-08-16T13:55:08.547 回答