Как я могу использовать sevenzipsharp, чтобы асинхронно разархивировать список архивов и правильно их утилизировать?

Как я могу использовать SevenZipSharp для асинхронной распаковки списка архивов и правильного их удаления?

Вот что я смотрю на:

Public Class SevenZipVB

Private Shared extractors As New List(Of SevenZipVB)

Private WithEvents _extractor As SevenZip.SevenZipExtractor


''' <summary>
''' Extracts list of archives to their current directory always overwriting
''' </summary>
''' <param name="archives">List of full path names to archives</param>
Public Shared Sub BeginExtraction(ByVal archives As List(Of String))

    For Each archive In archives
        Dim ext = New SevenZipVB(archive)
        extractors.Add(ext)
    Next

    'magically wait for all extraction to finish but allow the calling thread to continue

End Sub

Private Sub New(ByVal archive As String)
    _extractor = New SevenZip.SevenZipExtractor(archive)
    _extractor.BeginExtractArchive(Path.GetDirectoryName(archive))
End Sub

Private Sub extractfinished() Handles _extractor.ExtractionFinished
    _extractor.Dispose()
End Sub

End Class

Я думаю, мне придется добавить какой-то асинхронный метод, но я не знаю, как он должен выглядеть. Есть идеи?

1 ответ

Решение

Не беспокойтесь, эта библиотека больше не поддерживается, просто используйте командную строку 7za или 7zr

Другие вопросы по тегам