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


StorageFolder.DeleteAsync Метод

Определение

Перегрузки

DeleteAsync()

Удаляет текущую папку.

DeleteAsync(StorageDeleteOption)

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

DeleteAsync()

Удаляет текущую папку.

public:
 virtual IAsyncAction ^ DeleteAsync() = DeleteAsync;
/// [Windows.Foundation.Metadata.Overload("DeleteAsyncOverloadDefaultOptions")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction DeleteAsync();
[Windows.Foundation.Metadata.Overload("DeleteAsyncOverloadDefaultOptions")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction DeleteAsync();
function deleteAsync()
Public Function DeleteAsync () As IAsyncAction

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

После завершения этот метод не возвращает объект или значение.

Реализации

Атрибуты

Исключения

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

Примеры

В следующем примере показано, как удалить текущую папку путем вызова перегруженного метода DeleteAsync(StorageDeleteOption). В этом примере явно указывается значение параметра , которое удаляет файл без возможности восстановления.

using Windows.Storage;
using System.Threading.Tasks;
using System.Diagnostics; // For writing results to Output window.

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

// Create a temporary folder in the current folder.
string folderName = "Test";
StorageFolder testFolder = await localFolder.CreateFolderAsync(folderName);

// Has the folder been created?
if(await localFolder.TryGetItemAsync(folderName) != null)
    Debug.WriteLine("Folder " + folderName + " exists.");
else
    Debug.WriteLine("Folder " + folderName + " does not exist.");

// Delete the folder permanently.
await testFolder.DeleteAsync(StorageDeleteOption.PermanentDelete);

// Has the folder been deleted?
if(await localFolder.TryGetItemAsync(folderName) != null)
    Debug.WriteLine("Folder " + folderName + " exists.");
else
    Debug.WriteLine("Folder " + folderName + " does not exist.");
IAsyncAction MainPage::ExampleCoroutineAsync()
{
    Windows::Storage::StorageFolder localFolder{ Windows::Storage::ApplicationData::Current().LocalFolder() };

    std::wstring folderName{ L"test" };

    Windows::Storage::StorageFolder newFolder{ co_await localFolder.CreateFolderAsync(folderName) };

    {
        // Check that the folder exists.
        Windows::Storage::IStorageItem newItem{ co_await localFolder.TryGetItemAsync(folderName) };
        std::wstringstream stringstream;
        stringstream << L"Folder: " << folderName.c_str();
        if (newItem)
        {
            stringstream << L" created" << std::endl;
        }
        else
        {
            stringstream << L" not found" << std::endl;
        }
        ::OutputDebugString(stringstream.str().c_str());
    }

    co_await newFolder.DeleteAsync(Windows::Storage::StorageDeleteOption::PermanentDelete);

    {
        // Check that the folder has been deleted.
        Windows::Storage::IStorageItem newItem{ co_await localFolder.TryGetItemAsync(folderName) };
        std::wstringstream stringstream;
        stringstream << L"Folder: " << folderName.c_str();
        if (newItem)
        {
            stringstream << L" not deleted" << std::endl;
        }
        else
        {
            stringstream << L" deleted" << std::endl;
        }
        ::OutputDebugString(stringstream.str().c_str());
    }
}
StorageFolder^ localFolder = ApplicationData::Current->LocalFolder;

String^ folderName = "test";

create_task(localFolder->CreateFolderAsync(folderName)).then([=](StorageFolder^ newFolder) -> task<IStorageItem^> {
    //Check the folder exists
    return create_task(localFolder->TryGetItemAsync(folderName));
}).then([=](IStorageItem^ newFolder) -> task<void> {
    String^ output = "";
    if (newFolder == nullptr)
    {
        output = "Folder: " + folderName + " not found\n";
    }
    else
    {
        output = "Folder: " + folderName + " created\n";
    }
    OutputDebugString(output->Begin());
    return create_task(newFolder->DeleteAsync(StorageDeleteOption::PermanentDelete));
}).then([=]() -> task<IStorageItem^> {
    return create_task(localFolder->TryGetItemAsync(folderName));
}).then([=](IStorageItem^ newFolder) {
    String^ output = "";
    if (newFolder == nullptr)
    {
        output = "Folder: " + folderName + " deleted\n";
    }
    else
    {
        output = "Folder: " + folderName + " not deleted\n";
    }
    OutputDebugString(output->Begin());
});

Комментарии

Этот метод неявно использует StorageDeleteOption.Default , чтобы определить, удаляется ли элемент без возможности восстановления.

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

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

DeleteAsync(StorageDeleteOption)

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

public:
 virtual IAsyncAction ^ DeleteAsync(StorageDeleteOption option) = DeleteAsync;
/// [Windows.Foundation.Metadata.Overload("DeleteAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction DeleteAsync(StorageDeleteOption const& option);
[Windows.Foundation.Metadata.Overload("DeleteAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction DeleteAsync(StorageDeleteOption option);
function deleteAsync(option)
Public Function DeleteAsync (option As StorageDeleteOption) As IAsyncAction

Параметры

option
StorageDeleteOption

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

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

После завершения этот метод не возвращает объект или значение.

Реализации

Атрибуты

Исключения

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

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

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