StorageFolder.DeleteAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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
其中一個列舉值,指定是否要永久刪除資料夾。
傳回
這個方法在完成時不會傳回任何物件或值。
實作
- 屬性
例外狀況
您沒有刪除指定資料夾的許可權。