您的位置:程序门 -> .net技术 -> vb.net



变量赋值与作用域的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


变量赋值与作用域的问题[无满意答案结贴,结贴人:anuoxiang]
发表于:2007-09-16 13:30:19 楼主
有一个类如下:
public   class   class1
        public   a   as   string
        public   sub   ad(byref   mya   as   string)
                a   =   mya
        end   sub
end   class

外部调用如下
sub   bbbb()
dim   c1   as   new   class1,v1   as   string
c1.ad(v1)
v1= "string "
debug.print(c1.a) '问题就在这里  
end   sub

运行后   debug输出是空的,不知道是不是我代码问题还是理解问题,我希望输出的内容就是v1变量的内容,即   string   。不知改如何修改代码?
发表于:2007-09-16 13:41:321楼 得分:0
sub   bbbb()
dim   c1   as   new   class1,v1   as   string
v1= "string "
c1.ad(v1)
debug.print(c1.a) '问题就在这里  
end   sub
你调用类方法没有传值,当然返回空.
发表于:2007-09-16 14:44:532楼 得分:0
那么我怎么才能做到变量在类的外部修改,而类的内部变量可以同时改变呢?
发表于:2007-09-16 16:53:533楼 得分:0
为值类型不行,要用引用类型,也就像指针之类

public   class   va
        public   tmp   as   integer

        public   sub   new()
                tmp   =   10
        end   sub

end   class

public   class   vb
        private   a   as   va
        public   sub   add(byval   aa   as   va)
                me.a   =   aa
        end   sub

        public   readonly   property   val()
                get
                        return   a.tmp
                end   get
        end   property
end   class

        sub   main()
                dim   x   as   new   vb
                dim   y   as   new   va
                x.add(y)
                console.writeline(   x.val)       '改变之前的数
                y.tmp   =   20
                console.writeline(   x.val)       '改变后的数
          end   sub
发表于:2007-09-17 00:30:394楼 得分:0
还有比这个根简单的办法吗?
发表于:2007-09-17 11:51:065楼 得分:0
有一个类如下:
public   class   class1
        public   a   as   string
        public   sub   ad(byref   mya   as   string)
                a   =   mya
        end   sub
end   class

外部调用如下
sub   bbbb()
dim   c1   as   new   class1,v1   as   string
c1.ad(byref   v1) '//////////////////////////////////////////
v1= "string "
debug.print(c1.a) '问题就在这里  
end   sub
发表于:2007-09-17 12:23:056楼 得分:0
老大,这个是vb,似乎您的这个byref通不过


快速检索

最新资讯
热门点击