我有一个函数可以返回分配了特定键的字典:
Private Function GetScalingAnchorPoints() As Dictionary(Of String, Double)
Dim x, y, w, h As Double
Dim result As New Dictionary(Of String, Double)
shape.GetBoundingBox(x, y, w, h, False)
result.Add("TopAnchorX", y + h)
result.Add("TopAnchorY", x + (w / 2))
GetScalingAnchorPoints = result
End Function
然后在其他方法中,我将使用以下语法获取函数的结果:
Dim ScalingAnchor As Dictionary(Of String, Double)
ScalingAnchor = GetScalingAnchorPoints()
SetSize(ScalingAnchor("TopAnchorX"), ScalingAnchor("TopAnchorY"))
我想知道我是否可以将结果作为属性返回,而不是作为字典的键,所以我想使其像ScalingAnchor.TopAnchorX
,而不使之成为另一个公共类来存储财产?
答案 0 :(得分:1)
您可以创建一个新类,但正如您所说,您要避免使用此选项(但可能是最好的选择)。否则,这可能对您有帮助:
Private Function GetScalingAnchorPoints() As Dictionary(Of String, Double)
Dim x, y, w, h As Double
Dim result As New Dictionary(Of String, Double)
shape.GetBoundingBox(x, y, w, h, False)
result.Add("TopAnchorX", y + h)
result.Add("TopAnchorY", x + (w / 2))
return result
结束功能
首先,我建议您在函数末尾添加一个return
语句,以提高代码的可读性。
现在是时候在您的主代码中调用它了:
Dim ScalingAnchor As Dictionary(Of String, Double) = GetScalingAnchorPoints()
'Do your stuff here
现在,您可以使用以下语法调用TopAnchorX
:
ScalingAnchor.item("TopAnchorX")
如果您不想创建新的公共课程,这是最相似的方法