public override IPermission CreatePermission()
{
WebPermission perm = null;
if (Unrestricted) {
perm = new WebPermission( PermissionState.Unrestricted);
}
else {
NetworkAccess access = (NetworkAccess) 0;
if (m_connect is bool)
{
if ((bool) m_connect)
{
access |= NetworkAccess.Connect;
}
m_connect = null;
}
if (m_accept is bool)
{
if ((bool) m_accept)
{
access |= NetworkAccess.Accept;
}
m_accept = null;
}
perm = new WebPermission(access);
if (m_accept != null) {
if (m_accept is DelayedRegex) {
perm.AddAsPattern(NetworkAccess.Accept, (DelayedRegex)m_accept);
}
else {
perm.AddPermission(NetworkAccess.Accept, (string)m_accept);
}
}
if (m_connect != null) {
if (m_connect is DelayedRegex) {
perm.AddAsPattern(NetworkAccess.Connect, (DelayedRegex)m_connect);
}
else {
perm.AddPermission(NetworkAccess.Connect, (string)m_connect);
}
}
}
return perm;
}