Example #1
0
        internal override FileSystemInfo CreateObject(SearchResult result)
        {
            bool isFile = FileSystemEnumerableHelpers.IsFile(result.FindData);
            bool isDir  = FileSystemEnumerableHelpers.IsDir(result.FindData);

            if (isDir)
            {
                String name           = result.FullPath;
                String permissionName = name + "\\.";

                FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Read, String.Empty, permissionName);
                state.EnsureState();

                DirectoryInfo di = new DirectoryInfo(name, false);
                di.InitializeFrom(result.FindData);
                return(di);
            }
            else
            {
                Debug.Assert(isFile);
                String name = result.FullPath;

                FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Read, String.Empty, name);
                state.EnsureState();

                FileInfo fi = new FileInfo(name, false);
                fi.InitializeFrom(result.FindData);
                return(fi);
            }
        }
        internal override FileSystemInfo CreateObject(SearchResult result)
        {
            FileSystemEnumerableHelpers.IsFile(result.FindData);
            if (FileSystemEnumerableHelpers.IsDir(result.FindData))
            {
                string fullPath = result.FullPath;
                new FileIOPermission(FileIOPermissionAccess.Read, new string[1]
                {
                    fullPath + "\\."
                }, false, false).Demand();
                DirectoryInfo directoryInfo          = new DirectoryInfo(fullPath, false);
                Win32Native.WIN32_FIND_DATA findData = result.FindData;
                directoryInfo.InitializeFrom(findData);
                return((FileSystemInfo)directoryInfo);
            }
            string fullPath1 = result.FullPath;

            new FileIOPermission(FileIOPermissionAccess.Read, new string[1] {
                fullPath1
            }, false, false).Demand();
            FileInfo fileInfo = new FileInfo(fullPath1, false);

            Win32Native.WIN32_FIND_DATA findData1 = result.FindData;
            fileInfo.InitializeFrom(findData1);
            return((FileSystemInfo)fileInfo);
        }
        internal override FileSystemInfo CreateObject(SearchResult result)
        {
            bool isFile = FileSystemEnumerableHelpers.IsFile(result.FindData);
            bool isDir  = FileSystemEnumerableHelpers.IsDir(result.FindData);

            if (isDir)
            {
                DirectoryInfo di = new DirectoryInfo(result.FullPath, false);
                di.InitializeFrom(result.FindData);
                return(di);
            }
            else
            {
                Contract.Assert(isFile);
                FileInfo fi = new FileInfo(result.FullPath, false);
                fi.InitializeFrom(result.FindData);
                return(fi);
            }
        }
        internal override FileSystemInfo CreateObject(SearchResult result)
        {
            FileSystemEnumerableHelpers.IsFile(result.FindData);
            if (FileSystemEnumerableHelpers.IsDir(result.FindData))
            {
                string   str      = result.FullPath;
                string   str2     = str + @"\.";
                string[] strArray = new string[] { str2 };
                new FileIOPermission(FileIOPermissionAccess.Read, strArray, false, false).Demand();
                DirectoryInfo info = new DirectoryInfo(str, false);
                info.InitializeFrom(result.FindData);
                return(info);
            }
            string fullPath = result.FullPath;

            string[] pathList = new string[] { fullPath };
            new FileIOPermission(FileIOPermissionAccess.Read, pathList, false, false).Demand();
            FileInfo info2 = new FileInfo(fullPath, false);

            info2.InitializeFrom(result.FindData);
            return(info2);
        }
        internal override FileSystemInfo CreateObject(SearchResult result)
        {
            bool isFile = FileSystemEnumerableHelpers.IsFile(result.FindData);
            bool isDir  = FileSystemEnumerableHelpers.IsDir(result.FindData);

            if (isDir)
            {
                String name           = result.FullPath;
                String permissionName = name + "\\.";

#if FEATURE_CORECLR
                FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Read, String.Empty, permissionName);
                state.EnsureState();
#else
                String[] permissionNames = new String[] { permissionName };
                new FileIOPermission(FileIOPermissionAccess.Read, permissionNames, false, false).Demand();
#endif
                DirectoryInfo di = new DirectoryInfo(name, false);
                di.InitializeFrom(result.FindData);
                return(di);
            }
            else
            {
                Contract.Assert(isFile);
                String name = result.FullPath;

#if FEATURE_CORECLR
                FileSecurityState state = new FileSecurityState(FileSecurityStateAccess.Read, String.Empty, name);
                state.EnsureState();
#else
                String[] names = new String[] { name };
                new FileIOPermission(FileIOPermissionAccess.Read, names, false, false).Demand();
#endif
                FileInfo fi = new FileInfo(name, false);
                fi.InitializeFrom(result.FindData);
                return(fi);
            }
        }