错误CS1501:没有重载方法'接受12个参数

本文关键字:接受 12个 参数 方法 CS1501 重载 错误 | 更新日期: 2023-09-27 18:16:30

我有一个c#类从一个单独的项目(Visual Studio Express 2013)创建一个c++/CLI类的实例。这一切都很好,现在已经顺利了一段时间。然而,我只是添加了一个新方法'SolvePressure',我得到的错误"错误CS1501:没有重载方法'SolvePressure'接受12个参数"当我尝试构建c#项目时。

c++项目构建得很好,只是引用它的c#项目不行。参数数和类型匹配,并且我已经验证了该方法是公开声明的。智能感知选择的方法没有问题,没有给我任何警告。我试过重建。我试过打扫卫生。我不确定还有什么地方出了问题。什么好主意吗?

方法声明:

array<double, 2>^ SolvePressure(
    double mu, double omega, 
    cli::array<double, 2>^ ax, cli::array<double, 2>^ ay, 
    cli::array<double, 2>^ bx, cli::array<double, 2>^ by, 
    cli::array<double, 2>^ cx, cli::array<double, 2>^ cy, 
    cli::array<double, 2>^ bd,
    BC2D bc0, BC2D bc1, 
    cli::array<CH2D^>^ chs);

和方法用法:

var pres = linker.SolvePressure(
    this.Mu, this.Omega, 
    ax, ay, 
    bx, by, 
    cx, cy, 
    null,
    new EigenSolver.BC2D(), new EigenSolver.BC2D(),
    new EigenSolver.CH2D[0]);

任何帮助都是感激的!

错误CS1501:没有重载方法'接受12个参数

我的错…我忘了把BC2D参数标记为句柄。

修复:

array<double, 2>^ SolvePressure(
    double mu, double omega, 
    cli::array<double, 2>^ ax, cli::array<double, 2>^ ay, 
    cli::array<double, 2>^ bx, cli::array<double, 2>^ by, 
    cli::array<double, 2>^ cx, cli::array<double, 2>^ cy, 
    cli::array<double, 2>^ bd,
    BC2D^ bc0, BC2D^ bc1, 
    cli::array<CH2D^>^ chs);