有没有这种动态创建类对象的技术?解决方案

有没有这种动态创建类对象的技术?
假设现在有一个学生对象的属性如下:
ID,Name,Sex,Age,Tel,Address

问:能否用运行时创建一个student对象,并让他有以上六个属性。
相当于做一个类工厂,根据条件生产出一个类来。

不是在工程里放一个student类,然后NEW一下。

不知道看贴的明白我的意思没?
------解决方案--------------------
Type
------解决方案--------------------
没听明白 为什么要创建一个student对象却不能有student类.
------解决方案--------------------
相当于运行时动态地创建一个类。
------解决方案--------------------
vb没有这个功能,你只能自己专门写代码来模拟。比如用recordset,等等。
------解决方案--------------------
如果你就要这个属性的话,type就可以完成阿。非要个类,还不时提前创建,何必跟自己过不去呢
------解决方案--------------------
引用:
如果你就要这个属性的话,type就可以完成阿。非要个类,还不时提前创建,何必跟自己过不去呢
++
------解决方案--------------------
引用:
假设现在有一个学生对象的属性如下:
ID,Name,Sex,Age,Tel,Address

问:能否用运行时创建一个student对象,并让他有以上六个属性。
相当于做一个类工厂,根据条件生产出一个类来。

不是在工程里放一个student类,然后NEW一下。

不知道看贴的明白我的意思没?

帮你想2个办法:
第一个办法:做一个表格式的文本框控件OCX,这个文本框有6个值,分别是学生的ID,Name,Sex,Age,Tel,Address。
第二个办法:定义1个基础数组ID,Name,Sex,Age,Tel,Address,数组也是可继承的。需要时取得数组首地址即可。
以上只是想法,能否实现,靠自己了!


------解决方案--------------------
应该不好实现,要么事先用type xxx自定义类型创建模型,或者就是用类。知道你的意思可能属性不确定,所以在一开始无法确定是吧?可以事先预留n个。
private type xxx
t1 as x
t2 as x
t3 as x
...
end type
然后自己确定那个属性对应着哪个。

另外一个方法可以用集合或者字典。

例如:
student("Name")=xxx
student("sex")=0
...
------解决方案--------------------
明白lz的意思了。

lz你应该用C#4.0。
------解决方案--------------------
涉及到了类工厂了,VB应该没有这个技术,在COM里的技术里应该可以.
------解决方案--------------------
那就写个 student类不就行了吗~
------解决方案--------------------
引用:
引用:
明白lz的意思了。lz你应该用C#4.0。


换C#就不用在这里的问了。


引用:
涉及到了类工厂了,VB应该没有这个技术,在COM里的技术里应该可以.


有点矛盾哦! VB就是在COM里啊。


我的意思是VB不但是一种过于简单的编程语言,而且已经相当过时了。这就是说,让VB实现复杂的特性,让VB不堪重负,讨论各种超出VB设计之初期望目标之外的小技巧有没有意义。

今天花了很多时间学习、研究出一个VB本身不支持的特性,明天解决一个貌似解决不了的问题,这是Geek干的事情。花了很多精力,写了很多代码。到头来还是改变不了VB没落的事实。有的人利用这些时间成功迁移到主流的开发平台上来,有人继续挣扎,越挣扎,将来的迁移成本更高。

大家自己权衡。反正之前我也用了很多年VB,论对VB的感情和用VB的顺手程度,也一点不逊色大部分人。
------解决方案--------------------
能, 但vb实现和使用太麻烦, 就是一个call 地址的问题,vb不方便做
类包装的对象其实也就是c++指针概念发挥到了一个新的层次的产物
最直观的看待就是一个结构,type,加上些特别的预定义的内容,使他按照特定规则进行着貌似无限的扩展应用

实现起来就是:
1  申请一块内存
2  构造几个属性函数,要在模块里面写,或者直接用全局变量代替
3  对该对象的调用,以申请的内存地址为类似句柄一样的东西,实际就是this(me)指针
4  将所有该类函数,属性,等方法的函数地址和变量索引复制到 this+0,4,8,12。。 4整数倍位置
5  。。。 调用 调用函数A,可能的方法就是 call (This+4)

有没有这种动态创建类对象的技术?解决方案 我一再对自己的文字表述水平表示怀疑。。。 希望lz能看懂则凑合看,看不懂就算了,我都快说迷糊了
------解决方案--------------------
可以,使用CreateDispTypeInfo和CreateStdDispatch函数。
------解决方案--------------------
做一个函数,按参数构造出一个类对象实例并返回该对象即可
------解决方案--------------------
没有现成的方法,
楼上的兄弟们也出了不少点子,
总之就是绕着弯子模拟实现,数组,行集之类的都可以尝试看看