1

由于 matlab 是弱类型语言,而 C# 是强类型语言,所以它们的互操作并不像我想要的那样自然,因此我遇到了一些麻烦,希望在这里能得到一些建议。

就我而言,我想在 matlab 中调用一个 .NET 库。那个 .NET 库有很多 OO 结构。我的意图是我现在不想从 C# 库方面更改任何内容。我只是将相关程序集添加到matlab中。

例如,在我的 .net 库中,我有

class A
{
     method1 //not static method
}

class B : A
{
     ...
}

在我的matlab 代码中,我检索了B 类的一个对象,例如b,然后我想调用这个对象的A 类的method1。我的自然编码行为将调用:b.method1(val); .

但是,Matlab 会给我以下错误,这让我很不高兴: 错误:没有为 B 类找到匹配签名的方法“method1”

我可能会发布一些关于这个问题的研究:

  1. 我没有在 matlab 端进行任何 OO 编程,所有这些 OO 类仅驻留在 dll 中。而且我也不想更改 dll 部分的任何内容。

  2. 我看到一些帖子可以通过子类的类调用超类的方法:func@superclass(val)。但是,我认为它不适用于我的情况。

  3. 我在 github 上的 mongo-matlab 之间看到了另一个关于驱动程序的帖子。我没有看它的细节,它可能会给我我的答案,但我希望在我深入那个代码部分之前能得到一些建议。

谢谢

4

0 回答 0