2011-11-24 35 views
-1

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

代码CLR:

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

这是建成DLL:CSC/T:库

代码TCPSERVER:

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

这被构建为EXE。

现在来自trig_hdl()如何访问sendTo()?

+0

难以遵循。尝试发布一些(原理图)代码。命名事情。 –

+4

我怀疑你是否构建了一个'CLR'。 –

回答

0

程序集是'exe'还是'dll'(如果它是一个.Net程序集),首先你应该引用它,然后你将有能力使用位于组装,如果两个项目都在同一个解决方案中,那么绝对没有问题,只需引用您的项目。

关于糟糕的设计,它似乎确实不好,基本的想法是,你使用共享类库,你把所有的共享代码。之后,您只需从两个项目中引用该库,然后使用位于其中的代码...

+0

是的,在一个类库项目中引用一个.exe项目或程序集是完全靠前的,没有任何意义。 –