//public SPPermissionCollection GetUserPermissions(string userId) //{ // if (this.CanSetPermissions) // { // var user = new SPUser(userId, true); // if (this.Permissions == null) // this.GetPermissions(); // if (this.Permissions) // } // else // return null; //} #endregion #region GET PERMISSIONS public SPPermissionCollection GetPermissions() { if (!SecObj.IsPropertyReady(x => x.RoleAssignments)) { CTX.Lae(SecObj, true, s => s.RoleAssignments); } Type secType = SecObj.GetType(); var genMeth = ExpressionMethod.MakeGenericMethod(secType); var expressions = genMeth.Invoke(this, new object[1] { new string[2] { NameProperty, IdProperty } }); var specLae = typeof(CTX).GetMethod("SpecialLae", BindingFlags.NonPublic | BindingFlags.Static).MakeGenericMethod(SecObj.GetType()); specLae.Invoke(null, new object[3] { SecObj, true, expressions }); Permissions = SPPermissionCollection.ResolvePermissions(this); return(Permissions); }