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

请教函数本身可以做变量吗?
我写了一个函数
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 * 2
End 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,不过可能对于初学者有点复杂了。


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

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