コード例 #1
0
        public static Outlook.MAPIFolder GetOrCreateFolder(this Outlook.Folders folders, string path)
        {
            var pathSeparatorIndex = path.IndexOf("\\", StringComparison.Ordinal);
            var currentFolderName  = pathSeparatorIndex < 0 ? path : path.Substring(0, pathSeparatorIndex);

            var matchingFolder =
                folders.OfType <Outlook.MAPIFolder>()
                .FirstOrDefault(f => f.Name == currentFolderName) ??
                folders.Add(currentFolderName);

            return(pathSeparatorIndex < 0
                ? matchingFolder
                : GetOrCreateFolder(matchingFolder.Folders, path.Substring(pathSeparatorIndex + 1)));
        }