public override IPermission CreatePermission()
{
if (m_unrestricted)
{
return new FileIOPermission(PermissionState.Unrestricted);
}
else
{
FileIOPermission perm = new FileIOPermission(PermissionState.None);
if (m_read != null)
perm.SetPathList( FileIOPermissionAccess.Read, m_read );
if (m_write != null)
perm.SetPathList( FileIOPermissionAccess.Write, m_write );
if (m_append != null)
perm.SetPathList( FileIOPermissionAccess.Append, m_append );
if (m_pathDiscovery != null)
perm.SetPathList( FileIOPermissionAccess.PathDiscovery, m_pathDiscovery );
perm.AllFiles = m_allFiles;
perm.AllLocalFiles = m_allLocalFiles;
return perm;
}
}
}
public void Default () { FileIOPermissionAttribute a = new FileIOPermissionAttribute (SecurityAction.Assert); Assert.IsNull (a.Append, "Append"); Assert.IsNull (a.PathDiscovery, "PathDiscovery"); Assert.IsNull (a.Read, "Read"); Assert.IsNull (a.Write, "Write"); Assert.IsNotNull (a.AllFiles, "AllFiles"); Assert.IsNotNull (a.AllLocalFiles, "AllLocalFiles"); Assert.IsNull (a.ChangeAccessControl, "ChangeAccessControl"); Assert.IsNull (a.ViewAccessControl, "ViewAccessControl"); Assert.AreEqual (a.ToString (), a.TypeId.ToString (), "TypeId"); Assert.IsFalse (a.Unrestricted, "Unrestricted"); FileIOPermission perm = (FileIOPermission) a.CreatePermission (); Assert.AreEqual (FileIOPermissionAccess.NoAccess, perm.AllFiles, "CreatePermission-AllFiles"); Assert.AreEqual (FileIOPermissionAccess.NoAccess, perm.AllLocalFiles, "CreatePermission-AllLocalFiles"); Assert.IsFalse (perm.IsUnrestricted (), "perm-Unrestricted"); }