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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| Module Module1
Sub Main()
Dim def As New List(Of String)
def.Add("France")
def.Add("Belgique")
For Each d As String In def
Dim o As Object
o = Detecter(d)
Console.WriteLine("Objet =" & o.ToString)
Console.WriteLine("Nom =" & o.nom)
Select Case objectType '???????????
Case ToponymeFr
Console.WriteLine("CodeINSEE=" & o.CodeINSEE) '???????????
Case ToponymeBe
Console.WriteLine("CodeINS=" & o.CodeINS) '???????????
End Select
Next
Console.ReadLine()
End Sub
Function Detecter(def As String) As Object
Select Case def
Case "France"
Dim topo As New ToponymeFr
Return topo
Case "Belgique"
Dim topo As New ToponymeBe
Return topo
Case Else
Return Nothing
End Select
End Function
Public Class Toponyme
Property Def As String
Property Nom As String
Property Code As String
Public Sub New(d As String)
Def = d
End Sub
Public Sub New()
End Sub
End Class
Public Class ToponymeFr
Inherits Toponyme
Property CodeINSEE As String
Public Sub New(d As String)
MyBase.New(d)
Nom = "France"
Code = "Fr"
CodeINSEE = d
End Sub
Public Sub New()
Nom = "France"
Code = "Fr"
End Sub
End Class
Public Class ToponymeBe
Inherits Toponyme
Property CodeINS As String
Public Sub New(d As String)
MyBase.New(d)
Nom = "Belgique"
Code = "Be"
CodeINS = d
End Sub
Public Sub New()
Nom = "Belgique"
Code = "Be"
End Sub
End Class
End Module |
Partager