【问题标题】:VB.net 2008 Property ArrayVB.net 2008 属性数组
【发布时间】:2024-04-19 01:20:02
【问题描述】:

您好,有人可以帮忙吗?我目前正在学习 VB.net,但对于一个项目,我需要创建和排列并使用属性传递它。要传递的数据将是火车的目的地、到期时间和火车的预计时间。我想知道是否有人可以简单地解释如何首先生成一个数组,然后展示如何使用属性将其传递给自定义控件,任何帮助都会很棒。

谢谢。

【问题讨论】:

  • 对我来说,这些东西看起来并不适合数组。你确定你需要一个数组吗?您的问题真的是如何将参数传递给函数吗?

标签: vb.net arrays properties


【解决方案1】:

如果您想为控件提供多个值,一种简洁的方法是拥有单独的属性,每个值一个,而不是尝试将它们全部传递到一个数组中。另一种干净的方法是创建一个新类(类型),将所有这些值组合到一个结构中,并公开该类型的单个属性。例如:

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

(注意,我认为有必要实现属性过程,而不是直接公开内部字段值以使属性显示在属性网格中。)

所以如果你有这个类,那么你可以在你的控件上创建一个 TrainDetails 类型的属性,它将所有这些属性封装在一个值中。我认为它们可以在属性网格中作为单个属性进行编辑,旁边有一个可扩展的“+”来编辑各个值。

【讨论】: