Поделиться через


StorageFolder.CreateFolderAsync Метод

Определение

Перегрузки

CreateFolderAsync(String)

Создает новую вложенную папку с указанным именем в текущей папке.

CreateFolderAsync(String, CreationCollisionOption)

Создает новую вложенную папку с указанным именем в текущей папке. Этот метод также указывает, что делать, если вложенная папка с таким именем уже существует в текущей папке.

CreateFolderAsync(String)

Создает новую вложенную папку с указанным именем в текущей папке.

public:
 virtual IAsyncOperation<StorageFolder ^> ^ CreateFolderAsync(Platform::String ^ desiredName) = CreateFolderAsync;
/// [Windows.Foundation.Metadata.Overload("CreateFolderAsyncOverloadDefaultOptions")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFolder> CreateFolderAsync(winrt::hstring const& desiredName);
[Windows.Foundation.Metadata.Overload("CreateFolderAsyncOverloadDefaultOptions")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFolder> CreateFolderAsync(string desiredName);
function createFolderAsync(desiredName)
Public Function CreateFolderAsync (desiredName As String) As IAsyncOperation(Of StorageFolder)

Параметры

desiredName
String

Platform::String

winrt::hstring

Имя новой вложенной папки, создаваемой в текущей папке.

Возвращаемое значение

После завершения этого метода возвращается объект StorageFolder , представляющий новую вложенную папку.

Реализации

M:Windows.Storage.IStorageFolder.CreateFolderAsync(System.String) M:Windows.Storage.IStorageFolder.CreateFolderAsync(Platform::String) M:Windows.Storage.IStorageFolder.CreateFolderAsync(winrt::hstring)
Атрибуты

Исключения

Имя папки содержит недопустимые символы или неправильный формат имени папки. Проверьте значение desiredName.

У вас нет разрешения на создание вложенной папки в текущей папке.

Примеры

В следующем примере показано, как создать новую папку StorageFolder в текущей папке путем вызова перегруженного метода CreateFolderAsync(String, CreationCollisionOption). В этом примере явно указывается значение для параметров , которое приводит к сбою операции, если папка с указанным desiredName уже существует в текущей папке.

using Windows.Storage;
using System.Threading.Tasks;

// Get the app's local folder.
StorageFolder localFolder =
    Windows.Storage.ApplicationData.Current.LocalFolder;

// Create a new subfolder in the current folder.
// Raise an exception if the folder already exists.
string desiredName = "Subfolder";
StorageFolder newFolder =
    await localFolder.CreateFolderAsync(desiredName, CreationCollisionOption.FailIfExists);
IAsyncAction MainPage::ExampleCoroutineAsync()
{
    // Get the app's local folder.
    Windows::Storage::StorageFolder localFolder{ Windows::Storage::ApplicationData::Current().LocalFolder() };

    // Create a new subfolder in the current folder.
    // Throw an exception if it already exists.
    std::wstring desiredName{ L"Subfolder" };
    Windows::Storage::StorageFolder folder{ co_await localFolder.CreateFolderAsync(desiredName, Windows::Storage::CreationCollisionOption::FailIfExists) };

    // Do something with folder.
}
//Get app's local folder
StorageFolder^ localFolder = Windows::Storage::ApplicationData::Current->LocalFolder;

// Create a new subfolder in the current folder
// Raise an exception if it already exists
String^ desiredName = "Subfolder";
create_task(localFolder->CreateFolderAsync(desiredName,Windows::Storage::CreationCollisionOption::FailIfExists)).then([](StorageFolder^ folder)
{
   //Do something with folder
});

Комментарии

Этот метод по умолчанию использует значение FailIfExists из перечисления CreationCollisionOption . То есть этот метод вызывает исключение, если вложенная папка с тем же именем уже существует в текущей папке. Если вы хотите обработать конфликт имен папок другим способом, вызовите метод CreateFolderAsync(String, CreationCollisionOption).

При попытке создать вложенную папку в виртуальной папке, например библиотеке, или папке, представляющей контейнер для группы файлов (например, возвращаемое значение из некоторых перегрузок метода GetFoldersAsync ), метод CreateFolderAsync может завершиться ошибкой.

См. также раздел

Применяется к

CreateFolderAsync(String, CreationCollisionOption)

Создает новую вложенную папку с указанным именем в текущей папке. Этот метод также указывает, что делать, если вложенная папка с таким именем уже существует в текущей папке.

public:
 virtual IAsyncOperation<StorageFolder ^> ^ CreateFolderAsync(Platform::String ^ desiredName, CreationCollisionOption options) = CreateFolderAsync;
/// [Windows.Foundation.Metadata.Overload("CreateFolderAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFolder> CreateFolderAsync(winrt::hstring const& desiredName, CreationCollisionOption const& options);
[Windows.Foundation.Metadata.Overload("CreateFolderAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFolder> CreateFolderAsync(string desiredName, CreationCollisionOption options);
function createFolderAsync(desiredName, options)
Public Function CreateFolderAsync (desiredName As String, options As CreationCollisionOption) As IAsyncOperation(Of StorageFolder)

Параметры

desiredName
String

Platform::String

winrt::hstring

Имя новой вложенной папки, создаваемой в текущей папке.

options
CreationCollisionOption

Одно из значений перечисления, определяющее способ обработки конфликта, если вложенная папка с указанным desiredName уже существует в текущей папке.

Возвращаемое значение

После завершения этого метода возвращается объект StorageFolder , представляющий новую вложенную папку.

Реализации

M:Windows.Storage.IStorageFolder.CreateFolderAsync(System.String,Windows.Storage.CreationCollisionOption) M:Windows.Storage.IStorageFolder.CreateFolderAsync(Platform::String,Windows.Storage.CreationCollisionOption) M:Windows.Storage.IStorageFolder.CreateFolderAsync(winrt::hstring,Windows.Storage.CreationCollisionOption)
Атрибуты

Исключения

Имя папки содержит недопустимые символы или неправильный формат имени папки. Проверьте значение desiredName.

У вас нет разрешения на создание вложенной папки в текущей папке.

Комментарии

Если папка с указанным desiredName уже существует в текущей папке, то указанный параметр CreationCollisionOption определяет способ обработки конфликта.

См. также раздел

Применяется к