我正在创建一个申请表来查看/更改名为InTouch的软件中的标签。
我添加了dll作为参考,我想在IOM.InTouchDataAccess中使用Read(string tagName
)fct。当我写InTouchWrapper TagType = new read()
时,VS没有看到fct Read。它只看到我在代码中写的InTouchWrapper,它给出了错误IOM.InTouchDataAccess.InTouchWrapper' does not contain a constructor that takes 0 arguments
我不明白为什么会这样。我在编码时运行InTouch软件,可能与软件存在访问冲突。
mycode的
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using IOM.InTouchDataAccess;
namespace TagBrowser
{
public partial class TagBrowser : Form
{
public TagBrowser()
{
InitializeComponent();
}
private void TagBrowser_Load(object sender, EventArgs e)
{
}
private void TagBox_TextChanged(object sender, EventArgs e)
{
}
private void TypeBox_SelectedIndexChanged(object sender, EventArgs e)
{
InTouchWrapper TagType = new InTouchWrapper();
}
dll
using System;
using System.Collections.Generic;
using System.Text;
using NDde.Client;
namespace IOM.InTouchDataAccess
{
public class InTouchDdeWrapper : IDisposable
{
private int DDE_TIMEOUT = 60000;
private DdeClient _ddeClient;
public InTouchDdeWrapper()
{
_ddeClient = new DdeClient("View", "Tagname");
}
~InTouchDdeWrapper()
{
Dispose();
}
public void Initialize()
{
_ddeClient.Connect();
}
public string Read(string tagName)
{
return _ddeClient.Request(tagName, DDE_TIMEOUT).Replace("\0", "");
}
答案 0 :(得分:1)
我把它放在这里,万一有人会遇到同样的问题:
你确定这是你引用的正确的dll吗?试着打开 反编译器中精确引用的dll(JustDecompile free , Reflector或dotPeek 免费)并查看是否是您的代码 期望的。