C#:如何从作为dll构建的CLR代码访问EXE中的函数?

时间:2011-11-24 09:18:09

标签: c#

我在C#中创建了CLR,用于处理来自SQL数据库的触发器。这是作为一个DLL构建的。还有另一个文件构建为exe并创建TCPServer的单例实例。我想访问dll中的TCPServer实例来发送触发器中收到的数据。我怎样才能做到这一点?当我尝试在文件中使用命名空间时,它给了我错误。有没有办法可以从作为一个文件生成的文件构建为dll的文件中访问实例及其函数?或者这是一个非常糟糕的设计?基本思想是处理SQL触发器并将数据发布到套接字。我对c#和SQL都很新。

CLR代码:

    namespace trigger
    {
       public class X
       {
           public static void trig_hdl()
           {
           }
       }
    }

这是作为dll构建的:csc / t:library

TCPServer的代码:

namespace TCP
{
   public class TCPServer
   {
     public void sendTo()
   }
}

这是作为exe构建的。

现在从trig_hdl()如何访问sendTo()?

1 个答案:

答案 0 :(得分:0)

程序集是'exe'还是'dll'(如果它是.Net程序集)没有区别,首先你应该引用它,然后你就可以使用程序集中的代码了如果两个项目都在同一个解决方案中,那么绝对没问题,只需参考你的项目。

对于糟糕的设计,它似乎真的很糟糕,基本的想法是你使用共享类库放置所有共享代码。之后,您只需从两个项目中引用该库,并使用位于那里的代码......