#If _MyType <> "Empty" Then Namespace My ''' ''' Module utilisé pour définir les propriétés qui sont disponibles dans l'espace de noms My pour WPF ''' ''' _ Module MyWpfExtension Private s_Computer As New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.Devices.Computer) Private s_User As New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.ApplicationServices.User) Private s_Windows As New ThreadSafeObjectProvider(Of MyWindows) Private s_Log As New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.Logging.Log) ''' ''' Retourne l'objet application pour l'application en cours d'exécution ''' _ Friend ReadOnly Property Application() As Application Get Return CType(Global.System.Windows.Application.Current, Application) End Get End Property ''' ''' Retourne les informations relatives à l'ordinateur hôte. ''' _ Friend ReadOnly Property Computer() As Global.Microsoft.VisualBasic.Devices.Computer Get Return s_Computer.GetInstance() End Get End Property ''' ''' Retourne les informations relatives à l'utilisateur actuel. Si vous souhaitez exécuter l'application avec les ''' informations d'identification de l'utilisateur Windows, appelez My.User.InitializeWithWindowsUser(). ''' _ Friend ReadOnly Property User() As Global.Microsoft.VisualBasic.ApplicationServices.User Get Return s_User.GetInstance() End Get End Property ''' ''' Retourne le journal des applications. L'écouteur peut être configuré par le fichier de configuration de l'application. ''' _ Friend ReadOnly Property Log() As Global.Microsoft.VisualBasic.Logging.Log Get Return s_Log.GetInstance() End Get End Property ''' ''' Retourne la collection de fenêtres définie dans le projet. ''' _ Friend ReadOnly Property Windows() As MyWindows _ Get Return s_Windows.GetInstance() End Get End Property _ _ Friend NotInheritable Class MyWindows _ Private Shared Function Create__Instance__(Of T As {New, Global.System.Windows.Window})(ByVal Instance As T) As T If Instance Is Nothing Then If s_WindowBeingCreated IsNot Nothing Then If s_WindowBeingCreated.ContainsKey(GetType(T)) = True Then Throw New Global.System.InvalidOperationException("The window cannot be accessed via My.Windows from the Window constructor.") End If Else s_WindowBeingCreated = New Global.System.Collections.Hashtable() End If s_WindowBeingCreated.Add(GetType(T), Nothing) Return New T() s_WindowBeingCreated.Remove(GetType(T)) Else Return Instance End If End Function _ _ Private Sub Dispose__Instance__(Of T As Global.System.Windows.Window)(ByRef instance As T) instance = Nothing End Sub _ _ Public Sub New() MyBase.New() End Sub Private Shared s_WindowBeingCreated As Global.System.Collections.Hashtable Public Overrides Function Equals(ByVal o As Object) As Boolean Return MyBase.Equals(o) End Function Public Overrides Function GetHashCode() As Integer Return MyBase.GetHashCode End Function _ _ Friend Overloads Function [GetType]() As Global.System.Type Return GetType(MyWindows) End Function Public Overrides Function ToString() As String Return MyBase.ToString End Function End Class End Module End Namespace Partial Class Application Inherits Global.System.Windows.Application _ _ Friend ReadOnly Property Info() As Global.Microsoft.VisualBasic.ApplicationServices.AssemblyInfo _ Get Return New Global.Microsoft.VisualBasic.ApplicationServices.AssemblyInfo(Global.System.Reflection.Assembly.GetExecutingAssembly()) End Get End Property End Class #End If