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

FromXml() public method

public FromXml ( SecurityElement securityElement ) : void
securityElement SecurityElement
return void
        public override void FromXml(SecurityElement securityElement)
        {
            if (securityElement == null)
            {
                throw new ArgumentNullException(nameof(securityElement));
            }
            if (!securityElement.Tag.Equals("IPermission"))
            {
                throw new ArgumentException(SR.net_not_ipermission, nameof(securityElement));
            }

            string className = securityElement.Attribute("class");

            if (className == null)
            {
                throw new ArgumentException(SR.net_no_classname, nameof(securityElement));
            }
            if (className.IndexOf(GetType().FullName) < 0)
            {
                throw new ArgumentException(SR.net_no_typename, nameof(securityElement));
            }

            String str = securityElement.Attribute("Unrestricted");
            if (str != null)
            {
                if (0 == string.Compare(str, "true", StringComparison.OrdinalIgnoreCase))
                {
                    _access = SmtpAccess.ConnectToUnrestrictedPort;
                    _unrestricted = true;
                    return;
                }
            }

            str = securityElement.Attribute("Access");
            if (str != null)
            {
                if (0 == string.Compare(str, "Connect", StringComparison.OrdinalIgnoreCase))
                {
                    _access = SmtpAccess.Connect;
                }
                else if (0 == string.Compare(str, "ConnectToUnrestrictedPort", StringComparison.OrdinalIgnoreCase))
                {
                    _access = SmtpAccess.ConnectToUnrestrictedPort;
                }
                else if (0 == string.Compare(str, "None", StringComparison.OrdinalIgnoreCase))
                {
                    _access = SmtpAccess.None;
                }
                else
                {
                    throw new ArgumentException(SR.Format(SR.net_perm_invalid_val_in_element), "Access");
                }
            }
        }

Usage Example

Esempio n. 1
0
		public void FromXml_NoVersion ()
		{
			SmtpPermission sp = new SmtpPermission (PermissionState.None);
			SecurityElement se = sp.ToXml ();

			SecurityElement w = new SecurityElement (se.Tag);
			w.AddAttribute ("class", se.Attribute ("class"));
			sp.FromXml (w);
		}
All Usage Examples Of System.Net.Mail.SmtpPermission::FromXml