vb.net 自建类生成类e似xx.item(0).value或者xx.Name("zhangshan").Value

PublicClassItemPublicPropertyNumberAsStringPublicPropertyNameAsStringPublicPropertySy... Public Class Item
Public Property Number As String
Public Property Name As String
Public Property Symbol As String
Public Property Value As Single
Public Property Unit As String
Public Property Description As String
Public Property Remarks As String
End Class
'该Item类(不一定是类)在下面的类中使用
Public Class XX
Public Property tty() As Item

Public Sub New()
tty(0).Name="Women"

tty(0).Value =198000
tty(1).Name="temen"

tty.Name("temen").Value =99999
’可以达到这样的效果
End Sub
End Class
主要是item类如何写,才能在xx类中像上面一样使用,实际xx类中是运行错误的,根本写不出tty(0).Name之类的
展开
 我来答
szqaly
推荐于2016-06-03 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1544万
展开全部
'这是数组的一个方法了,可是可以给数组定义扩展方法来实现这种形式。不过要给Item每个成员能动态生成相应方法,想不出其它简单点的办法,只能一个一个的添加扩展方法。
Namespace 测试
    Public Class Item
        Public Number() As String
        Public Name As String
        Public Symbol As String
        Public Value As Single
        Public Unit As String
        Public Description As String
        Public Remarks As String
    End Class
    Public Class XX
        Public tty() As Item
        Public Sub New()
            tty(0).Name = "Women"
            tty(0).Value = 198000
            tty(1).Name = "temen"
            tty.Name("temen").Value = 99999
        End Sub
    End Class
    Public Module Module1
        <System.Runtime.CompilerServices.Extension()> _ 
        Public Function Name(ByVal she As Item(), ByVal key As String) As Item '定义扩展方法功能 在net.3.5前的版本像似没有。
            For Each it In she
                If it.Name = key Then
                    Return it
                End If
            Next
            Return Nothing
        End Function
    End Module
End Namespace
更多追问追答
追问
主要是item类如何写,才能在xx类中像上面一样使用,实际xx类中是运行错误的,根本写不出tty(0).Name之类的
主要是item类如何写,才能在xx类中像上面一样使用,实际xx类中是运行错误的,根本写不出tty(0).Name之类的
FMUD1
2015-07-01 · TA获得超过1008个赞
知道大有可为答主
回答量:1289
采纳率:71%
帮助的人:912万
展开全部
item若设为xx的默认属性,那么xx.item(0)=xx(0),你如果要这个效果,item不能是数组,不需要这个效果,你写的已经做到了。
第二个,name定义为xx的一个带参数的属性,搜索内容的代码写在get中。
tty这个数组,如果可以,建议设置成泛型,比数组方便。
追问
主要是item类如何写,才能在xx类中像上面一样使用,实际xx类中是运行错误的,根本写不出tty(0).Name之类的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式