【发布时间】:2018-05-31 03:18:55
【问题描述】:
Private Sub btnInsert_Click(sender As Object, e As EventArgs) Handles btnInsert.Click
Dim coinnn As New Coin()
' decalres variables and link them to the class library
coinnnn.Metal.Silver = "Silver"
coinnnn.Metal.Platinum = "Platinum"
coinnnn.Metal.Palladium = "Palladium"
coinnnn.Metal.Zinc = "Zinc"
coinnnn.Metal.Nickel = "Nickel"
coinnnn.Metal.Platinum = "Platinum"
coinnnn.Metal.Gold = "Gold"
coinnnn.Metal.Copper = "Copper"
coinnnn.Currency.USD = "USD"
coinnnn.Currency.JPY = "JPY"
coinnnn.Currency.CHF = "CHF"
coinnnn.Currency.CAD = "CAD"
coinnnn.Currency.EUR = "EUR"
coinnnn.Currency.GBP = "GBP"
' adds the values to the radio boxes
If radZinc.Checked Then
radZinc = coinnnn.Metal.Zinc
If radSilver.Checked Then
radSilver = coinnnn.Metal.Silver
ElseIf radPlatinum.Checked Then
radPlatinum = coinnnn.Metal.Platinum
If radPalladium.Checked Then
radPalladium = coinnnn.Metal.Palladium
If radNickel.Checked Then
radNickel = coinnnn.Metal.Nickel
ElseIf radGold.Checked Then
radGold = coinnnn.Metal.Gold
If radCopper.Checked Then
radCopper = coinnnn.Metal.Copper
End If
End If
End If
End If
End If
' adds the values to the drop-down list
If cboCurrency.SelectedValue.USD Then
cboCurrency = coinnnn.Currency.USD
If cboCurrency.SelectedValue.EUR Then
cboCurrency = coinnnn.Currency.EUR
ElseIf cboCurrency.SelectedValue.GBP Then
cboCurrency = coinnnn.SelectedValue.GBP
If cboCurrency.SelectedValue.JPY Then
cboCurrency = coinnnn.Currency.JPY
If cboCurrency.SelectedValue.CHF Then
cboCurrency = coinnnn.Currency.CHF
ElseIf cboCurrency.SelectedValue.CAD Then
cboCurrency = coinnnn.Currency.CAD
End If
End If
End If
End If
End Sub
我正在使用类库,并且不断收到错误选项严格不允许后期绑定。这个学校作业需要帮助。谢谢。
【问题讨论】:
-
信息不足。
Coin是否在类库中定义?那些Metal和Currency任务在做什么?你不应该告诉班级那些类型的事情。错误在哪里?如果radZinc之类的东西是复选框/UI 控件,则您无法在执行过程中对其进行转换或分配其他内容。你的 If 块也不会像你想象的那样工作。 IFradZinc没有被检查,例如什么都不会被分配 - 那 箭头模式 总是一个危险信号 -
是的,硬币是类,货币和金属是枚举
-
枚举是整数/数字类型,因此为它们分配文本应该会失败。枚举是在编译时定义的,因此您不需要更新、初始化或“链接”它们……但是您的类可能会暴露它们(
Public),因此 UI 代码按照相同的规则播放。仍然不知道错误在哪里。 (单选按钮 (?) 没有值,因此不清楚那些错误的 If 块试图做什么 - 显然将每个按钮链接到一个 Enum 项目?)。 -
当用户点击某种金属和货币时,我需要从类库中的枚举中提取用户的答案。
-
请记住,我们不在课堂上,也没有手边的作业。我们所知道的就是你告诉我们的,到目前为止,这远远太少了。我会猜当他们点击一种金属时,你想用这种金属制造一枚硬币吗? 也许
click a metal表示那些单选按钮,以便他们选择金属和货币?无论哪种方式,UI 代码都不会将文本分配给数字枚举。抱歉,但您需要更轻松地为您提供帮助。也许阅读How to Ask
标签: vb.net binding class-library