我可以向单个属性添加多个字段吗

Can I add more than one field to a single attribute

我想知道是否可以将 2 个不同的属性添加到一个属性中。例如我有两个属性:

private var modelYear:int as ModelYear
private var manufacturedCd:String as ManufacturerCd

我想将这两个属性放入一个名为 "personalVehicle" 的属性中。然后我可以从另一个 class.

上的 personalVehicle 导出这些值

澄清我的问题:

  1. 我可以将两个属性添加到一个名为 personalVehicle 的属性中吗?
  2. 如果是这样,我怎样才能从另一个 class 上的 personalVehicle 属性中提取 modelYear?

谢谢

我在这里假设您在 Guidewire 的应用程序之一(因此是 guidewire 标签)中使用 Gosu。

在这些应用程序中,您可以访问 gw.util.Pair class,它基本上是两个值的容器。

var personalVehicle = new Pair<Integer, String>(2010, "something")

您可以通过 First 和 Second 属性访问存储的值。

print(personalVehicle.First) //prints 2010
print(personalVehicle.Second) //prints "something"

请注意,First 和 Second 不会告诉您这些属性中存储的内容。 在您的情况下(特别是如果您想将您的 personalVehicle 传递给其他人 classess) 定义单独的 class 存储 modelYear 和 ManufacturerCd 可能更好。

class PersonalVehicle {
    private var modelYear : int as ModelYear
    private var manufacturedCd : String as ManufacturerCd
}

使用这样的 class 会使您的代码更具可读性。