获取C++;C#程序的计算 我有一个C++项目,希望能够调用C中的函数。 我创建了C++类库,并在C++项目中引用了它。这一切都很好。(我知道方法定义应该只在.h文件中,方法体应该在.cpp文件中。对于这个示例,我将一起编写。)

获取C++;C#程序的计算 我有一个C++项目,希望能够调用C中的函数。 我创建了C++类库,并在C++项目中引用了它。这一切都很好。(我知道方法定义应该只在.h文件中,方法体应该在.cpp文件中。对于这个示例,我将一起编写。),c#,methods,c++-cli,C#,Methods,C++ Cli,有了这个,我可以用C#来称呼它,如下所示: long result = functions.calculateSum(1, 2); namespace Formularia { public class functions{ public: functions(); long calculateSum(long a, long b){ return a + b; } }; } 我可以像这样运行它,

有了这个,我可以用C#来称呼它,如下所示:

long result = functions.calculateSum(1, 2);
namespace Formularia {
    public class functions{
    public:
        functions();
        long calculateSum(long a, long b){
            return a + b;
        }
    };
}
我可以像这样运行它,但是说“无法加载文件或程序集”…………“或其依赖项之一”


如果我删除
ref
,如下所示:

long result = functions.calculateSum(1, 2);
namespace Formularia {
    public class functions{
    public:
        functions();
        long calculateSum(long a, long b){
            return a + b;
        }
    };
}
在我看来,我应该可以这样称呼它:


我尝试过的另一件事是在名称空间级别创建方法:

//Definition in C++
namespace Formularia {
    static long calculatesum(long a, long b){
        return a + b;
    }
}
我无法将该方法公开,它需要一个标识符。但我也不能打电话
Formularia.calculatesum(1,2)
。还试图消除这里的静电



解决方案可能非常简单,但我更愿意将其称为C#中的静态类。(如ref示例)。有人知道我做错了什么吗?

看来您没有显示真正的代码,因为这些都不合法。您所需要的只是C++/CLI中静态类的示例?无论如何,您的第一个示例是最接近的,但是您缺少函数上的static关键字。您似乎没有显示真正的代码,因为这些都是不合法的。您只需要一个C++/CLI中静态类的示例?无论如何,您的第一个示例是最接近的,但是您缺少函数中的static关键字。