首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请问函数本身可以做变量吗

2012-01-29 
请教函数本身可以做变量吗?我写了一个函数Public function f(x#)dim s#……s 2 * method(x#)……End functio

请教函数本身可以做变量吗?
我写了一个函数
Public function f(x#)

dim s#

……
s = 2 * method(x#)

……

End function

其中method(x#)是嵌套的一个计算函数,而这个函数是不固定的,可以使随意输入的一个函数

请问大伙有没有什么方法动态设置method(x#),以便零活改变method(x#)

急切求解,三克油……

[解决办法]
C语言可以,VB不行
[解决办法]
vb6没那么面向对象,所以没有委托、函数指针。更没有到函数式编程的地步了。
[解决办法]
按照难易程度
(1)给你完整的代码:
新建2个类模块:
第一个里面写:

VB code
Public Function method(ByVal n As Long) As Long     method = n * 2End Function
[解决办法]
当然,对于方法(1),更严谨的做法是创建一个接口,比如 IMethodClass
然后Class1 Class2 用 Implements 实现这个接口。

传参数使用 IMethodClass 代替 Object,不过可能对于初学者有点复杂了。
[解决办法]
探讨
vb6还是很强大的。caozhy厉害。

[解决办法]
探讨

当然,对于方法(1),更严谨的做法是创建一个接口,比如 IMethodClass
然后Class1 Class2 用 Implements 实现这个接口。

传参数使用 IMethodClass 代替 Object,不过可能对于初学者有点复杂了。

[解决办法]
如果根据楼主具体的需求还是觉得还是映射比较好,你传进去哪个class对象还是要根据x的值,倒不如根据x的值直接调用对应的函数了,做到一个个class中代码量复杂度并不会少,尽管形式上好像是函数做变量了,不过这个为了xx而xx看起来显然不划算的。
[解决办法]
多谢各位。如果我用C写一个使用函数指针的函数,那么在vb中怎么调用呢?


如果是VC调用VB,VB可以用AddressOf运算符,将VB的函数参数传给VC。注意VB的函数要放入标准模块。

如果是VB调用VC,使用CallWindowProc API,VC直接把函数地址传过来即可,(更复杂的情况需要一小段嵌入机器指令)。
[解决办法]
探讨
引用:

当然,对于方法(1),更严谨的做法是创建一个接口,比如 IMethodClass
然后Class1 Class2 用 Implements 实现这个接口。

传参数使用 IMethodClass 代替 Object,不过可能对于初学者有点复杂了。


明确接口,可以增加代码执行效率;而非严谨的问题

对于绑定的接口对象,在编译时由于可以定……

热点排行