C# 将位掩码设置为CRM访问权限

C# 将位掩码设置为CRM访问权限,c#,dynamics-crm,bitmask,access-rights,C#,Dynamics Crm,Bitmask,Access Rights,我在CRM中设置主体的访问权限时遇到问题。我必须检索特定团队的实际访问权限并设置这些权限 实际上,访问权限是这样设置的: principal.AccessMask = Microsoft.Crm.Sdk.Messages.AccessRights.ReadAccess | Microsoft.Crm.Sdk.Messages.AccessRights.AppendAccess | Microsoft.Crm.Sdk.M

我在CRM中设置主体的访问权限时遇到问题。我必须检索特定团队的实际访问权限并设置这些权限

实际上,访问权限是这样设置的:

principal.AccessMask = Microsoft.Crm.Sdk.Messages.AccessRights.ReadAccess |                                        Microsoft.Crm.Sdk.Messages.AccessRights.AppendAccess |
Microsoft.Crm.Sdk.Messages.AccessRights.AppendToAccess |
Microsoft.Crm.Sdk.Messages.AccessRights.WriteAccess;
现在,我已检索到作为对象返回的相关accessrights:

object AccessRights  = FetchEngine.GetPrincipalPriviliges(Globals.incomingTeamId, Globals.incomingRecordId);
此对象包含如下权利:851991

我现在的问题是,我不知道如何使用这个对象(位掩码)为主体设置访问权限

也许有人能给我指出正确的方向

非常感谢您的帮助

问候 Sandro

根据: 它是一个带有Flags属性的枚举。你应该可以直接投下它:

object rightsObject  = FetchEngine.GetPrincipalPriviliges(Globals.incomingTeamId, Globals.incomingRecordId);
var rights = (Microsoft.Crm.Sdk.Messages.AccessRights)rightsObject;
//....
myPrincipal.AccessMask = rights;
然后用它做任何你想做的事……

根据: 它是一个带有Flags属性的枚举。你应该可以直接投下它:

object rightsObject  = FetchEngine.GetPrincipalPriviliges(Globals.incomingTeamId, Globals.incomingRecordId);
var rights = (Microsoft.Crm.Sdk.Messages.AccessRights)rightsObject;
//....
myPrincipal.AccessMask = rights;
那你想用它做什么就做什么