2009-04-19 10 views
0

Salut quelqu'un peut-il aider ici? J'apprends actuellement VB.net mais pour un projet j'ai besoin de créer et de le passer et le passer en utilisant une propriété. Les données à transmettre seront la destination d'un train, l'heure à laquelle il est dû et l'heure prévue du train. Je me demandais si quelqu'un pouvait simplly expliquer comment produire d'abord un tableau, puis montrer comment passer à un contrôle personnalisé à l'aide d'une propriété toute aide serait super.VB.net 2008 Array propriété

Merci.

+0

Ces choses ne ressemblent pas vraiment montage dans un tableau pour moi. Êtes-vous sûr d'avoir besoin d'un tableau? Est-ce que votre question est vraiment comment vous passez des paramètres à une fonction? – erikkallen

Répondre

1

Si vous souhaitez fournir des valeurs multiples à un contrôle, d'une manière propre à faire est d'avoir des propriétés distinctes, une pour chaque valeur, au lieu d'essayer de les passer en un seul tableau. Une autre façon propre à faire est de créer une nouvelle classe (type) qui combine toutes ces valeurs dans une seule structure, et d'exposer une seule propriété de ce type. Par exemple:

Public Class TrainDetails 
    Private _destination As String 
    Private _due As DateTime 
    Private _expected as DateTime 

    Public Property Destination As String 
     Get 
      Return _destination 
     End Get 
     Set 
      _destination = Value 
     End Set 
    End Property 

    Public Property Due As DateTime 
     Get 
      Return _due 
     End Get 
     Set 
      _due = Value 
     End Set 
    End Property 

    Public Property Expected As DateTime 
     Get 
      Return _expected 
     End Get 
     Set 
      _expected = Value 
     End Set 
    End Property 
End Class 

(. Remarque, je pense qu'il est nécessaire de mettre en œuvre des procédures de propriété au lieu d'exposer directement les valeurs de champ interne pour que les propriétés à afficher dans une grille de propriété)

Donc, si vous avoir cette classe, alors vous pouvez créer une propriété de type TrainDetails sur votre contrôle qui encapsulera toutes ces propriétés dans une seule valeur. Je pense qu'ils seront modifiables dans la grille de la propriété comme une propriété unique avec un extensible « + » à côté pour modifier les valeurs individuelles.