Bonjour,

J'ai une classe qui devient un type dans les propriétés d'une autre classe
Cette classe contient que des propriétés
exemple :

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
 
Public Class Field
    ' Constructeur
    Public Sub New(ByVal p_Order As Integer, Optional ByVal p_Value As String = "")
         _Order = p_Order
         _Value = p_Value
      End Sub
 
     ' Propriété Order
      Private _Order As Integer
      Public ReadOnly Property Order() As Boolean
         Get
            Return _Order
         End Get
      End Property
 
      ' Propriété Value
      ' Seule cette propriété est en lecture écriture
      Private _Value As String
      Public Property Value() As String
         Get
            Return _Value
         End Get
         Set(ByVal value As String)
            _Value = value
         End Set
      End Property
End Class
Ensuite j'ai la classe qui utilise la classe Field dans ses propriétés
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
 
Public Class Article
    Public Sub New()
         ' Initialisation des valeurs par défaut des propriétés lors de la création de l'instance (Champ Order de la classe Field
         ' Value est optionnel
         _Owner = New Field(2)  ' Propriété Order de la classe Field
         _ItemNumber = New Field(1)
   End Sub  
 
      Private _Owner As Field
      Public Property Owner() As Field
         Get
            Return _Owner
         End Get
         Set(ByVal value As Field)
            _Owner = value
         End Set
      End Property
 
      Private _ItemNumber As Field
      Public Property ItemNumber() As Field
         Get
            Return _ItemNumber
         End Get
         Set(ByVal value As Field)
            _ItemNumber = value
         End Set
      End Property
End Class
' Collection d'articles
  Public Class Articles
      Inherits List(Of Article)
   End Class
Utilisation de la classe dans une application console
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
 
Sub Main()
   Dim LesArticles as New Articles  ' Collection d'articles
   Dim UnArticle as Article            ' Article
 
   ' Ajout d'un premier article dans la collection
   UnArticle = New Article
   UnArticle.Owner.Value = "Valeur1"
   UnArticle.ItemNumber.value = "Bassine"
   LesArticles.Add(UnArticle)
   UnArticle = Nothing
 
  ' Ajout d'un deuxième article dans la collection
   UnArticle = New Article
   UnArticle.Owner.Value = "Valeur2"
   UnArticle.ItemNumber.value = "Assiette"
   LesArticles.Add(UnArticle)
   UnArticle = Nothing 
 
End Sub
Maintenant la question

Je souhaiterai, à partir d'une requête LINQ to Object ou éventuellement par la réflexion (PropertyInfo)
pouvoir récupérer toutes les valeurs de la propriété Value triées par Order dans la classe Article afin de sortir mes propriétés dans l'ordre de Order.

Exemple

'Article 1
Bassine <- Propriété ItemNumber.value dont ItemNumber.Order = 1
Valeur1 <- Propriété Owner.value dont Owner.Order = 2
'Article 2
Assiette <- Propriété ItemNumber.value dont ItemNumber.Order = 1
Valeur2 <- Propriété Owner.value dont Owner.Order = 2

J'espère être assez clair
Merci de vos réponses