本文整理汇总了C#中System.Threading.CompressedStack.DemandFlagsOrGrantSet方法的典型用法代码示例。如果您正苦于以下问题:C# CompressedStack.DemandFlagsOrGrantSet方法的具体用法?C# CompressedStack.DemandFlagsOrGrantSet怎么用?C# CompressedStack.DemandFlagsOrGrantSet使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Threading.CompressedStack
的用法示例。
在下文中一共展示了CompressedStack.DemandFlagsOrGrantSet方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReflectionTargetDemandHelper
[System.Security.SecurityCritical] // auto-generated
private static void ReflectionTargetDemandHelper(int permission,
PermissionSet targetGrant,
CompressedStack securityContext)
{
Contract.Assert(securityContext != null, "securityContext != null");
// We need to remove all identity permissions from the grant set of the target, otherwise the
// disjunctive demand will fail unless we're reflecting on the same assembly.
PermissionSet demandSet = null;
if (targetGrant == null)
{
demandSet = new PermissionSet(PermissionState.Unrestricted);
}
else
{
demandSet = targetGrant.CopyWithNoIdentityPermissions();
demandSet.AddPermission(new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess));
}
securityContext.DemandFlagsOrGrantSet((1 << (int)permission), demandSet);
}
示例2: ReflectionTargetDemandHelper
private static void ReflectionTargetDemandHelper(int permission, PermissionSet targetGrant, CompressedStack securityContext)
{
PermissionSet grantSet = null;
if (targetGrant == null)
{
grantSet = new PermissionSet(PermissionState.Unrestricted);
}
else
{
grantSet = targetGrant.CopyWithNoIdentityPermissions();
grantSet.AddPermission(new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess));
}
securityContext.DemandFlagsOrGrantSet(((int) 1) << permission, grantSet);
}