请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

wcgseu

注册会员

2

主题

7

帖子

23

积分

注册会员

积分
23
最新发帖
wcgseu
注册会员   /  发表于:2018-1-11 10:32  /   查看:3452  /  回复:7
public class C1_FunctionInfo : FunctionInfo
    {
        public int iPeriod = 12;

        public override string Name
        {
            get { return "C1"; }
        }

        public override int MinArgs
        {
            get { return 1; }
        }

        public override int MaxArgs
        {
            get { return 4; }
        }

        public override object Evaluate(object[] args)
        {            
            return 100;
        }
    }

    public class INNERTEST_FunctionInfo : FunctionInfo
    {
        public override string Name
        {
            get { return "INNERTEST"; }
        }

        public override int MaxArgs
        {
            get { return 4; }
        }

        public override int MinArgs
        {
            get { return 1; }
        }

        public override object Evaluate(object[] args)
        {
            //如何执行 另外一个自定义函数: C1(99)
        }
    }

7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-1-11 10:39:08
沙发
另一个函数是当作参数传进来还是你就是想在Evaluate 中调用另一个函数?

如果是第一种,那么spread会自动将函数计算后的结果当作参数传进来。
如果是第二种,因为是代码,你可以直接写一个和C1一样逻辑的代码去执行,或者公共方法,C1和INNERTEST都去调用这个方法。
回复 使用道具 举报
wcgseu
注册会员   /  发表于:2018-1-11 10:52:25
板凳
dexteryao 发表于 2018-1-11 10:39
另一个函数是当作参数传进来还是你就是想在Evaluate 中调用另一个函数?

如果是第一种,那么spread会自 ...

是第一种。
但是,我的这个INNERTEST函数中还有 递归的调用的,就是 也调用了INNERTEST这个函数,只是参数不一样。

如 INNERTEST(200) =“INNERTEST(100)+C1(99)”
回复 使用道具 举报
wcgseu
注册会员   /  发表于:2018-1-11 11:14:16
地板
dexteryao 发表于 2018-1-11 10:39
另一个函数是当作参数传进来还是你就是想在Evaluate 中调用另一个函数?

如果是第一种,那么spread会自 ...

像我这样的递归调用 是否需要在 Evaluate中作解析处理呢?
回复 使用道具 举报
wcgseu
注册会员   /  发表于:2018-1-11 14:36:34
5#
经过大半天的研究,自己结帖吧。
使用排序的方式,先计算靠前顺序的值,在Evaluate中,后面引用前面的Tag的值。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-1-11 20:02:10
6#
我感觉,其实您这个递归里的C1更像是我说得第二种情况,自定义公式其实还是就接收个200参数。内部如何处理和自定义公式就没关系了。可以写个递归计算的类就搞定了。
回复 使用道具 举报
wcgseu
注册会员   /  发表于:2018-1-16 09:44:13
7#
dexteryao 发表于 2018-1-11 20:02
我感觉,其实您这个递归里的C1更像是我说得第二种情况,自定义公式其实还是就接收个200参数。内部如何处理 ...

嗯,好的感谢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-1-16 11:02:03
8#
不客气,有问题再发帖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部