Bonjour.
Avant toutes choses desole si j'ecris aucun accent mais je suis sur un clavier qwerty.
Je viens de commencer l'ASP.NET avec du VB.NET et j'ai un probleme de castage que je n'arrive pas a resoudre.
J'ai une classe abstraite:
Et une classe qui implemente cette classe abstraite
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 Public MustInherit Class DKDropDownMenuItem Private m_oDBAccess As clsDBAccess Private m_sLastError As String #Region "Get Methods" 'This function returns the last error that occurred Public Function GetLastError() As String 'Fairly simple, just return the string. Return m_sLastError End Function ' abstract method: This function will return an HTML DropDowmMenuItem' Public MustOverride Function GetDropDownMenuItemPanel() As Panel #End Region End Class
Dans un troisieme classe je creer une liste du type de ma classe abstraite et une methode pour ajouter un objet:
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 Public Class clsSponsor Inherits DKDropDownMenuItem #Region "Private Fields" Private m_idSponsor As Integer Private m_idLevel As Integer Private m_renewDate As DateTime Private m_description As String Private m_website As String Private m_logo As String Private m_businessDescription As String Private m_name As String Private m_activeFlag As Char #End Region #Region "Implement abstract method" Public Overrides Function GetDropDownMenuItemPanel() As Panel Dim aPanel As New Panel ' Begin of the display aPanel.Controls.Add(New LiteralControl("<div id=" + m_idSponsor + ">")) ' Begin of the title section aPanel.Controls.Add(New LiteralControl("<div>")) aPanel.Controls.Add(New LiteralControl(m_name)) ' End of the title section aPanel.Controls.Add(New LiteralControl("</div>")) ' End of the display aPanel.Controls.Add(New LiteralControl("</div>")) Return Nothing End Function #End Region End Class
Ma classe clsSponsor herite bien de DKDropDownMenuItem. Je devrais donc bien pouvoir l'ajouter dans la liste. Or lorsque je fais:
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 Public Class DKDropDownMenu Private m_oDBAccess As clsDBAccess Private m_sLastError As String Private m_myItems As New System.Collections.Generic.List(Of DKDropDownMenuItem) 'This function adds a DKDRopDowmMenuItem on the list Public Function addItem(ByVal item As DKDropDownMenuItem) As Integer m_myItems.Add(item) Return m_myItems.Count End Function End class
J'ai l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim ddMenu As New DKDropDownMenu Dim sector As New clsSector sector.name = "test" sector.idSector = 1 ddMenu.addItem(sector)
Quelqu'un a une idee ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Value of type 'clsSector' cannot be converted to 'DKDropDownMenuItem'.
Partager