System.Security.Permissions.FileIOAccess.Equals C# (CSharp) Method

Equals() public method

public Equals ( Object obj ) : bool
obj Object
return bool
        public override bool Equals(Object obj)
        {
            FileIOAccess operand = obj as FileIOAccess;
            if(operand == null)
                return (IsEmpty() && obj == null);
            BCLDebug.Assert( this.m_pathDiscovery == operand.m_pathDiscovery, "Path discovery settings must match" );
            if(m_pathDiscovery)
            {
                if(this.m_allFiles && operand.m_allFiles)
                    return true;
                if(this.m_allLocalFiles == operand.m_allLocalFiles &&
                    m_set.IsSubsetOf(operand.m_set) &&
                    operand.m_set.IsSubsetOf(m_set)) // Watch Out: This calls StringExpressionSet.IsSubsetOf, unlike below
                    return true;
                return false;
            }
            else
            {
                if(!this.IsSubsetOf(operand)) // Watch Out: This calls FileIOAccess.IsSubsetOf, unlike above
                    return false;
                if(!operand.IsSubsetOf(this))
                    return false;
                return true;
            }
        }

Usage Example

Example #1
0
        public override bool Equals(Object obj)
        {
            FileIOPermission perm = obj as FileIOPermission;

            if (perm == null)
            {
                return(false);
            }

            if (m_unrestricted && perm.m_unrestricted)
            {
                return(true);
            }
            if (m_unrestricted != perm.m_unrestricted)
            {
                return(false);
            }

            if (m_read == null)
            {
                if (perm.m_read != null && !perm.m_read.IsEmpty())
                {
                    return(false);
                }
            }
            else if (!m_read.Equals(perm.m_read))
            {
                return(false);
            }

            if (m_write == null)
            {
                if (perm.m_write != null && !perm.m_write.IsEmpty())
                {
                    return(false);
                }
            }
            else if (!m_write.Equals(perm.m_write))
            {
                return(false);
            }

            if (m_append == null)
            {
                if (perm.m_append != null && !perm.m_append.IsEmpty())
                {
                    return(false);
                }
            }
            else if (!m_append.Equals(perm.m_append))
            {
                return(false);
            }

            if (m_pathDiscovery == null)
            {
                if (perm.m_pathDiscovery != null && !perm.m_pathDiscovery.IsEmpty())
                {
                    return(false);
                }
            }
            else if (!m_pathDiscovery.Equals(perm.m_pathDiscovery))
            {
                return(false);
            }

            if (m_viewAcl == null)
            {
                if (perm.m_viewAcl != null && !perm.m_viewAcl.IsEmpty())
                {
                    return(false);
                }
            }
            else if (!m_viewAcl.Equals(perm.m_viewAcl))
            {
                return(false);
            }

            if (m_changeAcl == null)
            {
                if (perm.m_changeAcl != null && !perm.m_changeAcl.IsEmpty())
                {
                    return(false);
                }
            }
            else if (!m_changeAcl.Equals(perm.m_changeAcl))
            {
                return(false);
            }

            return(true);
        }