api database file

master
謝桂綱 10 years ago
parent a8f441b95f
commit 8e5bcebf12

@ -1,9 +1,81 @@
Namespace Framework.Provider.ImportsAPI
Imports System.Reflection
Imports System.Text
Imports Microsoft.VisualBasic.ComponentModel
Imports Microsoft.VisualBasic.Serialization
Namespace Framework.Provider.ImportsAPI
''' <summary>
''' Assembly
''' </summary>
Public Class APIProvider
Public Class APIProvider : Implements ISaveHandle
Implements IDisposable
Public Property Packages As ImportsNs()
Get
Return __nsList.ToArray
End Get
Set(value As ImportsNs())
If value Is Nothing Then
__nsList = New List(Of ImportsNs)
Else
__nsList = value.ToList
End If
End Set
End Property
Dim __nsList As List(Of ImportsNs)
Public Shared ReadOnly Property DefaultFile As String =
App.ProductSharedDIR & "/API.Imports.json"
Public Function Register(assm As Assembly) As Boolean
End Function
Public Function Save(Optional Path As String = "", Optional encoding As Encoding = Nothing) As Boolean Implements ISaveHandle.Save
Return Me.GetJson.SaveTo(If(String.IsNullOrEmpty(Path), DefaultFile, Path), encoding)
End Function
Public Function Save(Optional Path As String = "", Optional encoding As Encodings = Encodings.UTF8) As Boolean Implements ISaveHandle.Save
Return Save(Path, encoding.GetEncodings)
End Function
Sub Save()
Call Save(DefaultFile, Encodings.ASCII)
End Sub
#Region "IDisposable Support"
Private disposedValue As Boolean ' To detect redundant calls
' IDisposable
Protected Overridable Sub Dispose(disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
' TODO: dispose managed state (managed objects).
Call Save()
End If
' TODO: free unmanaged resources (unmanaged objects) and override Finalize() below.
' TODO: set large fields to null.
End If
Me.disposedValue = True
End Sub
' TODO: override Finalize() only if Dispose(disposing As Boolean) above has code to free unmanaged resources.
'Protected Overrides Sub Finalize()
' ' Do not change this code. Put cleanup code in Dispose(disposing As Boolean) above.
' Dispose(False)
' MyBase.Finalize()
'End Sub
' This code added by Visual Basic to correctly implement the disposable pattern.
Public Sub Dispose() Implements IDisposable.Dispose
' Do not change this code. Put cleanup code in Dispose(disposing As Boolean) above.
Dispose(True)
' TODO: uncomment the following line if Finalize() is overridden above.
' GC.SuppressFinalize(Me)
End Sub
#End Region
End Class
End Namespace
Loading…
Cancel
Save