コード例 #1
0
        public static bool AreEqual(FileInfo src, FileInfo dest, CompareMethod method)
        {
            if (method.HasFlag(CompareMethod.SizeInBytes))
            {
                if (src.Length != dest.Length)
                {
                    return(false);
                }
            }

            if (method.HasFlag(CompareMethod.LastWriteTime))
            {
                if (src.LastWriteTime != dest.LastWriteTime)
                {
                    return(false);
                }
            }

            if (method.HasFlag(CompareMethod.Attributes))
            {
                if (src.Attributes != dest.Attributes)
                {
                    return(false);
                }
            }

            // ReSharper disable once InvertIf
            if (method.HasFlag(CompareMethod.Contents))
            {
                if (!AreContentsIdentical(src, dest))
                {
                    return(false);
                }
            }

            return(true);
        }