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
Одно из значений перечисления, указывающее, следует ли окончательно удалить папку.
Возвращаемое значение
После завершения этот метод не возвращает объект или значение.
Реализации
- Атрибуты
Исключения
У вас нет разрешения на удаление указанной папки.