unity3D中的MathNet的Integrate.OnClosedInterval定积分函数调用出错

//在vs2017里不报错,unity里Console也没有错,但是unity的scene界面报All compiler errors have to be fixed before entering playmode错误
//将mathnet的两个引用注释掉,不用函数就可以运行

using System;
using UnityEngine;
using MathNet.Numerics.Integration;
using MathNet.Numerics;

public class trail : MonoBehaviour
{

    public ParticleSystem part;
    private ParticleSystem.Particle[] particlesArray;
    public int seaResolution;
    public float spacing = 0.01f;

    public float l;//1/2船体长度
    public float b;//1/2船体宽度
    public float d;//吃水深度
    public float v;//船速



    void Start()
    {
        particlesArray = new ParticleSystem.Particle[seaResolution * seaResolution];
        var setparticlenumber = part.main;
        setparticlenumber.maxParticles = seaResolution * seaResolution;
        part.Emit(seaResolution * seaResolution);
        part.GetParticles(particlesArray);
    }




    void Update()
    {
       float pi = 3.14f;
        float g = 9.8f;
        float k= g / (v * v);
        for (int i = 0; i < seaResolution; i++)
        {
            for (int j = 0; j < seaResolution; j++)
            {
               double zPos = Integrate.OnClosedInterval(o => (1 - Math.Exp(-k * d / Math.Cos(o) / Math.Cos(o))) * (Math.Sin(k * (i * Math.Cos(o) + j * Math.Sin(o)) / Math.Cos(o) / Math.Cos(o))), -pi / 2, pi / 2);
               // double zPos = 0;
                float z = (float)zPos;
                particlesArray[i * seaResolution + j].position = new Vector3(i * spacing, j * spacing,z);
            }
        }



        part.SetParticles(particlesArray, particlesArray.Length);
    }

}

https://blog.csdn.net/weixin_30641465/article/details/96254882