我一直在寻找有关这种结构的信息,但我找不到它;所以,如果有人有时间解释这一点,或指向一些解释它的URl。
我在函数sin web C#应用程序中找到了这个定义,例如:
public static class PrincipalExtensions
{
public static Site.Web.Models.SiteIdentity SiteIdentity(this System.Security.Principal.IPrincipal principal)
{
.....
}
}
答案 0 :(得分:6)
这是一种扩展方法。有关详细信息,请参阅以下文章:http://msdn.microsoft.com/en-us/library/bb383977.aspx
简短版本:此构造使您可以在类实例上调用某些方法,即使您不能(或不希望)从类继承。它不会授予您访问受保护或私有成员/字段/方法的权限。
最值得注意的用法:System.Linq命名空间中IEnumerable / IQueryable上的扩展方法。
答案 1 :(得分:2)
这是extension method的IPrincipal,它返回自定义类型Site.Web.Models.SiteIdentity
的对象。
主体对象表示用户的安全上下文 代表其运行的代码,包括该用户的身份 (IIdentity)及其所属的任何角色。