Dll似乎没有被阅读,为什么?

时间:2012-10-03 18:43:18

标签: c# .net object constructor instantiation

我正在创建一个申请表来查看/更改名为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", "");
        }

1 个答案:

答案 0 :(得分:1)

我把它放在这里,万一有人会遇到同样的问题:

  

你确定这是你引用的正确的dll吗?试着打开   反编译器中精确引用的dll(JustDecompile free ,   ReflectordotPeek 免费)并查看是否是您的代码   期望的。