如何在Tcl中调用C#COM DLL重载API

时间:2012-06-20 06:59:34

标签: c# dll com tcl

为了在Tcl中调用C#dll,我用COM-visible编译了这个C#dll,然后使用TCOM来调用它。但是当我尝试调用DLL中定义的一个重载API时,我发现了一个问题。例如:

在C#DLL中,我定义了以下API:

// API #1
public void init(string name, int id)
{
  Console.WriteLine("init " + name + " " +id)
  ...
}

//API #2
public void init(string name)
{
  Console.WriteLine("Only init " + name);
  ...
}

然后在tcl:

% $handle init "aaaa" 0x3  # this line is succesfull
init aaaa 3
% $handle init "bbbb" # this line is failed.
wrong # args: should be "init name id"

它似乎只承认了第一个编写的API。 有人之前遇到过这个问题吗?关于如何从同一个程序调用这两个函数的任何建议?

0 个答案:

没有答案