2014-02-28 46 views
0

我真的很喜欢这个社区。我试图通过尝试我所学到的来教导我自己。我正在学习如何使用枚举的结构和对象,所以我想我会把它们混合在一起,以更好地理解发生了什么。我使用的是卡为例(在练习用卡的一切)当构造函数具有结构数据类型时VB实例化对象时出现麻烦

我创建了一个名为西装

Public Enum suit As Integer 
    Spades = 0 
    Diamonds =1 
    Clovers = 2 
    Hearts = 3 
    End Enum 

接下来,我创建了一个使用我刚刚创建

Public structure cardValue 

    Public cardSuit As suit <--- enum 
    Public cardName As Integer 

End Structure 
枚举数据类型结构的枚举

Lastely我创建的类的卡

Public Class Card 

    Private actualCard As cardValue 

    Get 

     Return actualCard 

    End Get 

    Set(value As cardValue) 

    End Set 

actualCard=value 

End Property 

Sub New (actualCard As cardValue) 

    Me.actualCard = actualCard 

End Sub 

End Class 

现在,这里是我的问题

当我goto创建类卡的对象我不知道如何将参数传递给构造函数?

昏暗myCard作为卡=新卡(我想说啥,和10卡值)

不知道如何通过它的价值,一切我尝试,我得到无效的错误类型

我也不确定如何让代码变灰,我对此非常抱歉。

+2

摆脱* cardValue *的,使之诉和Name属性类。现在很容易。 –

+0

谢谢您的评论,重点是我正在尝试学习如何以这种方式进行操作。 – user3363744

+0

你的代码不能编译。您遗失了您的媒体资源上的“Public Property NameOfYourProperty As cardValue”。和'结束集'。 – LarsTech

回答

0

您的实际构造函数,你可以这样做:

Dim c As New Card(New cardValue With {.cardSuit = suit.Spades, .cardName = 10}) 

但最简单的方法是改变你的构造:

Public Sub New(suitValue As suit, cardValue As Integer) 
    ActualCard = New cardValue With {.cardSuit = SuitValue, .cardName = CardValue} 
End Sub 
相关问题