当前位置: 首页>>代码示例>>C#>>正文


C# IPermission.Union方法代码示例

本文整理汇总了C#中IPermission.Union方法的典型用法代码示例。如果您正苦于以下问题:C# IPermission.Union方法的具体用法?C# IPermission.Union怎么用?C# IPermission.Union使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IPermission的用法示例。


在下文中一共展示了IPermission.Union方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddPermission

		// methods

		public IPermission AddPermission (IPermission perm)
		{
			if ((perm == null) || _readOnly)
				return perm;

			// we don't add to an unrestricted permission set unless...
			if (state == PermissionState.Unrestricted) {
				// identity permissions can be unrestricted under 2.x
				{
					// we return the union of the permission with unrestricted
					// which results in a permission of the same type initialized 
					// with PermissionState.Unrestricted
					return (IPermission) Activator.CreateInstance (perm.GetType (), psUnrestricted);
				}
			}

			// we can't add two permissions of the same type in a set
			// so we remove an existing one, union with it and add it back
			IPermission existing = RemovePermission (perm.GetType ());
			if (existing != null) {
				perm = perm.Union (existing);
			}

			// note: Add doesn't copy
			list.Add (perm);
			return perm;
		}
开发者ID:zxlin25,项目名称:mono,代码行数:29,代码来源:PermissionSet.cs

示例2: AddPermission

		public virtual IPermission AddPermission (IPermission perm)
#endif
		{
			if ((perm == null) || _readOnly)
				return perm;

			// we don't add to an unrestricted permission set unless...
			if (state == PermissionState.Unrestricted) {
#if NET_2_0
				// identity permissions can be unrestricted under 2.x
				{
#else
				// we're adding identity permission as they don't support unrestricted
				if (perm is IUnrestrictedPermission) {
#endif
					// we return the union of the permission with unrestricted
					// which results in a permission of the same type initialized 
					// with PermissionState.Unrestricted
					return (IPermission) Activator.CreateInstance (perm.GetType (), psUnrestricted);
				}
			}

			// we can't add two permissions of the same type in a set
			// so we remove an existing one, union with it and add it back
			IPermission existing = RemovePermission (perm.GetType ());
			if (existing != null) {
				perm = perm.Union (existing);
			}

			// note: Add doesn't copy
			list.Add (perm);
			return perm;
		}

		[MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
		[SecurityPermission (SecurityAction.Demand, Assertion = true)]
开发者ID:runefs,项目名称:Marvin,代码行数:36,代码来源:PermissionSet.cs


注:本文中的IPermission.Union方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。