System.Net.Mail.SmtpPermission.Intersect C# (CSharp) Method

Intersect() public method

public Intersect ( IPermission target ) : IPermission
target IPermission
return IPermission
        public override IPermission Intersect(IPermission target)
        {
            if (target == null)
            {
                return null;
            }

            SmtpPermission other = target as SmtpPermission;
            if (other == null)
            {
                throw new ArgumentException(SR.Format(SR.net_perm_target), nameof(target));
            }

            if (IsUnrestricted() && other.IsUnrestricted())
            {
                return new SmtpPermission(true);
            }

            return new SmtpPermission(_access < other._access ? _access : other._access);
        }

Usage Example

Esempio n. 1
0
		public void Intersect_SmtpAccess ()
		{
			SmtpPermission spn = new SmtpPermission (false);
			SmtpPermission spu = new SmtpPermission (true);
			SmtpPermission spctup = new SmtpPermission (SmtpAccess.ConnectToUnrestrictedPort);
			SmtpPermission spconnect = new SmtpPermission (SmtpAccess.Connect);
			SmtpPermission spnone = new SmtpPermission (SmtpAccess.None);

			SmtpPermission intersect = (SmtpPermission) spn.Intersect (spctup);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "None N ConnectToUnrestrictedPort");
			intersect = (SmtpPermission) spn.Intersect (spconnect);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "None N Connect");
			intersect = (SmtpPermission) spn.Intersect (spnone);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "None N SmtpAccess.None");

			intersect = (SmtpPermission) spu.Intersect (spctup);
			Assert.AreEqual (SmtpAccess.ConnectToUnrestrictedPort, intersect.Access, "Unrestricted N ConnectToUnrestrictedPort");
			intersect = (SmtpPermission) spu.Intersect (spconnect);
			Assert.AreEqual (SmtpAccess.Connect, intersect.Access, "Unrestricted N Connect");
			intersect = (SmtpPermission) spu.Intersect (spnone);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "Unrestricted N SmtpAccess.None");

			intersect = (SmtpPermission) spctup.Intersect (spctup);
			Assert.AreEqual (SmtpAccess.ConnectToUnrestrictedPort, intersect.Access, "ConnectToUnrestrictedPort N ConnectToUnrestrictedPort");
			intersect = (SmtpPermission) spctup.Intersect (spconnect);
			Assert.AreEqual (SmtpAccess.Connect, intersect.Access, "ConnectToUnrestrictedPort N Connect");
			intersect = (SmtpPermission) spctup.Intersect (spnone);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "ConnectToUnrestrictedPort N SmtpAccess.None");
			intersect = (SmtpPermission) spctup.Intersect (spn);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "ConnectToUnrestrictedPort N None");
			intersect = (SmtpPermission) spctup.Intersect (spu);
			Assert.AreEqual (SmtpAccess.ConnectToUnrestrictedPort, intersect.Access, "ConnectToUnrestrictedPort N Unrestricted");

			intersect = (SmtpPermission) spconnect.Intersect (spctup);
			Assert.AreEqual (SmtpAccess.Connect, intersect.Access, "Connect N ConnectToUnrestrictedPort");
			intersect = (SmtpPermission) spconnect.Intersect (spconnect);
			Assert.AreEqual (SmtpAccess.Connect, intersect.Access, "Connect N Connect");
			intersect = (SmtpPermission) spconnect.Intersect (spnone);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "Connect N SmtpAccess.None");
			intersect = (SmtpPermission) spconnect.Intersect (spn);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "Connect N None");
			intersect = (SmtpPermission) spconnect.Intersect (spu);
			Assert.AreEqual (SmtpAccess.Connect, intersect.Access, "Connect N Unrestricted");

			intersect = (SmtpPermission) spnone.Intersect (spctup);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "SmtpAccess.None N ConnectToUnrestrictedPort");
			intersect = (SmtpPermission) spnone.Intersect (spconnect);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "SmtpAccess.None N Connect");
			intersect = (SmtpPermission) spnone.Intersect (spnone);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "SmtpAccess.None N SmtpAccess.None");
			intersect = (SmtpPermission) spnone.Intersect (spn);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "SmtpAccess.None N None");
			intersect = (SmtpPermission) spnone.Intersect (spu);
			Assert.AreEqual (SmtpAccess.None, intersect.Access, "SmtpAccess.None N Unrestricted");
		}
All Usage Examples Of System.Net.Mail.SmtpPermission::Intersect