Bonjour

J'ai une classe RecordList(Of T) qui hérite de List(Of T) que j'utilise pour stocker une liste de Fichiers Multimédia définit dans une classe MultiMediaFile.

Dans une autre Class j'au une routine pour effacer un fichier par son nom qui est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Public Sub DeleteMultimediaFile(ByVal filename As String)
        Dim info As New FileInfo(filename)
        Dim file As New MultimediaFile()
        file.Database = _database
        file.Filename = filename
        file.Format = info.Extension
        _Files.RemoveAt(_Files.IndexOf(file))
 
    End Sub
_Files est la variable locale
A l'exécution j'obtiens une exeption car _Files.IndexOf(file) renvoit -1.
Or file.name contient bien le nom de fichier à effacer et _Files(0).Filename est également correct.
Je suppose donc que mon appel n'est pas bon.
Question : comment utilise-t-on la fonction RemoveAt pour une liste tippée du genre List(Of T)?
Merci de votre aide

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Public Class RecordList(Of T)
Inherits List(Of T)
.....
  Public Shadows Sub RemoveAt(ByVal index As Integer)
        MyBase.RemoveAt(index)
    End Sub
Une autre Class

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Public Class MultimediaFile
	Private _database As Database
	Private _Filename As String
	Private _Format As String
	Private _SourceMediaType As String
 
	Public Sub New()
	End Sub
 
	Public Property Database() As GDatabase
		Get
			Return _database
		End Get
		Set
			_database = value
		End Set
	End Property
 
	Public Property Filename() As String
		Get
			Return _Filename
		End Get
		Set
			If value <> _Filename Then
				_Filename = value
			End If
		End Set
	End Property
 
	Public Property Format() As String
		Get
			Return _Format
		End Get
		Set
			If value <> _Format Then
				_Format = value
			End If
		End Set
	End Property
 
	Public Property SourceMediaType() As String
		Get
			Return _SourceMediaType
		End Get
		Set
			If value <> _SourceMediaType Then
				_SourceMediaType = value
			End If
		End Set
	End Property
 
 
End Class