public override IPermission CreatePermission()
{
SmtpPermission perm = null;
if (Unrestricted)
{
perm = new SmtpPermission(PermissionState.Unrestricted);
}
else
{
perm = new SmtpPermission(PermissionState.None);
if (_access != null)
{
if (string.Equals(_access, "Connect", StringComparison.OrdinalIgnoreCase))
{
perm.AddPermission(SmtpAccess.Connect);
}
else if (string.Equals(_access, "ConnectToUnrestrictedPort", StringComparison.OrdinalIgnoreCase))
{
perm.AddPermission(SmtpAccess.ConnectToUnrestrictedPort);
}
else if (string.Equals(_access, "None", StringComparison.OrdinalIgnoreCase))
{
perm.AddPermission(SmtpAccess.None);
}
else
{
throw new ArgumentException(SR.Format(SR.net_perm_invalid_val, strAccess, _access));
}
}
}
return perm;
}