Ste*_*ary 5

CreateDirectory是一个奇怪的场景。最好内置异步版本,特别是用于在网络驱动器上打开/创建目录。

通常,如果 BCL 不直接支持异步,您将能够 P/Invoke 异步 Win32 API。但是,在这种情况下,Win32 API 实际上并不公开目录的异步 API。所以你必须走得更低——可能直接调用文件系统驱动程序(所有设备驱动程序都支持异步 I/O,所以这肯定会工作)。

因此,虽然它并不理想,但在这种情况下,您最好只制作一个假的异步方法,即,将调用包装在Task.Run.

附带说明一下,Windows Store 风格的目录 API 是异步的。它们可能是在 Win32 API 下调用的,但实际上我对此表示怀疑 - 我希望它们被实现为虚假的异步方法。