System.Security.Permissions.KeyContainerPermissionAttribute.CreatePermission C# (CSharp) Method

CreatePermission() public method

public CreatePermission ( ) : IPermission
return IPermission
		public override IPermission CreatePermission ()
		{
			if (this.Unrestricted)
				return new KeyContainerPermission (PermissionState.Unrestricted);
			else if (EmptyEntry ())
				return new KeyContainerPermission (_flags);
			else {
				KeyContainerPermissionAccessEntry[] list = new KeyContainerPermissionAccessEntry [1];
				list [0] = new KeyContainerPermissionAccessEntry (_store, _providerName, _type, _containerName, _spec, _flags);
				return new KeyContainerPermission (_flags, list);
			}
		}

Usage Example

		public void Default ()
		{
			KeyContainerPermissionAttribute a = new KeyContainerPermissionAttribute (SecurityAction.Assert);
			Assert.AreEqual (KeyContainerPermissionFlags.NoFlags, a.Flags, "Flags");
			Assert.IsNull (a.KeyContainerName, "KeyContainerName");
			Assert.AreEqual (-1, a.KeySpec, "KeySpec");
			Assert.IsNull (a.KeyStore, "KeyStore");
			Assert.IsNull (a.ProviderName, "ProviderName");
			Assert.AreEqual (-1, a.ProviderType, "ProviderType");

			Assert.IsFalse (a.Unrestricted, "Unrestricted");
			Assert.AreEqual (a.ToString (), a.TypeId.ToString (), "TypeId");

			KeyContainerPermission perm = (KeyContainerPermission)a.CreatePermission ();
			Assert.AreEqual (KeyContainerPermissionFlags.NoFlags, perm.Flags, "perm.Flags");
			Assert.IsFalse (perm.IsUnrestricted (), "perm.Unrestricted");
		}