Bonjour,
L'interface IDisposable implémente du code et des commentaires dans la classe où il est implémenter.
Comment créer une telle interface incluant du code et des commentaires ?
Merci d'avance,
Pascal
Bonjour,
L'interface IDisposable implémente du code et des commentaires dans la classe où il est implémenter.
Comment créer une telle interface incluant du code et des commentaires ?
Merci d'avance,
Pascal
Bonjour,
en regardant du coté MSDN, tu trouvera p-e des réponses:
http://msdn.microsoft.com/fr-fr/libr...isposable.aspx
![]()
Une interface n'implémente jamais de code. Pour référence, voici le contenu de IDisposable:
Le concept le plus proche de ce que tu appelles "une interface avec du code" est la classe abstraite. Les classes qui en héritent doivent implémenter les membres marqués MustInherit. Mais une classe abstraite peux aussi contenir des membres concrêts dont vont bénéficier les classes qui en héritent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 using System; using System.Runtime.InteropServices; namespace System { /// <summary>Defines a method to release allocated resources.</summary> /// <filterpriority>2</filterpriority> [ComVisible(true)] public interface IDisposable { /// <summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary> /// <filterpriority>2</filterpriority> void Dispose(); } }
Plus d'info ici: http://mbenzeghiba.developpez.com/tu...heritagevbnet/
Exemple:
public abstract class MyBase
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
hunteshiva,
j'avais déjà regardé de ce côté, MSDN explique plutôt l'implémentation que la conception.
SaumonAgile,
je connais bien les classes abstraites et ce n'est pas du tout ce que je recherche à faire.
L'interface IDisposable insère du code et des commentaires en plus des simples déclarations de méthodes et propriétés. Pour preuve, j'ai créé une classe vide et ajouté la ligne de code: "Implements IDisposable" et voici le résultat :
D'autres idées ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Public Class Class1 Implements IDisposable #Region "IDisposable Support" Private disposedValue As Boolean ' To detect redundant calls ' IDisposable Protected Overridable Sub Dispose(ByVal disposing As Boolean) If Not Me.disposedValue Then If disposing Then ' TODO: dispose managed state (managed objects). 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(ByVal disposing As Boolean) above has code to free unmanaged resources. 'Protected Overrides Sub Finalize() ' ' Do not change this code. Put cleanup code in Dispose(ByVal 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(ByVal disposing As Boolean) above. Dispose(True) GC.SuppressFinalize(Me) End Sub #End Region End Class
Pascal
Un outils (visual studio? resharper? un autre?) t'as géneré du code pour une implémentation courante de IDisposable. Il n'y a pas de code dans une interface.
Retrouvez moi sur :
Mon Espace Developpez.com-------------------------------
Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code----------------------------
Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
A mon avis c'est un snippet qui est responsable. C'est simplement un morceau de code configurable associé à un mot-clé.
Fais une recherche sur les code snippets de Visual Studio pour comprendre comment cela fonctionne.
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Partager