none
C#组件怎么做的,打包封装、以后调用?com和dll怎么调用里面的内容的? RRS feed

答案

  • 你好,

        将程序集封装DLL文件或是COM组件就可以被其他项目调用。

        比如,你用C#写的代码(程序集),在编译选项中,把COM勾选上,那么它就可以在C++中使用。

        建议看一下相关资料,比如C#高级编程,关于程序集那章。

        如果你想复用UI上的控件,那么看一下MSDN关于自定义控件的资料。或是直接下载一个有源代码的控件,看一下你就明白个大概了。

     

        顺便说一下,简单来说,一般的DLL文件复用,是希望我们之前写的代码可以复用,而COM组件的复用,是我们希望,复用不仅仅是文件,同一开发语言下的复用,而是二进制层次上的复用。这样,就更方便了。

     

        至于如何使用,我一般是要么看相关文档,要么是点开,看看里边的命名空间是什么,提供哪些方法。


    1+1=The World >>> BLOG=http://blog.csdn.net/liuning800203 >>> Email=liuning800203@hotmail.com
    • 已编辑 0_1_TheWorld 2010年12月14日 5:09 补充
    • 已标记为答案 王基任 2010年12月14日 9:43
    2010年12月14日 4:53
  • 把你的源代码写成可继承的公有类。

    • 已标记为答案 王基任 2010年12月14日 9:35
    2010年12月13日 13:31
  • 比如 你可以DLL调用。做成一个一个命名空间下的类,实现某种功能 ,生成DLL文件。在你要做的项目中添加引用,找到你要引用的DLL文件就OK了。

    • 已标记为答案 王基任 2010年12月14日 9:35
    2010年12月13日 13:34
  • 您好, 其实.Net是被设计为面向组件的,简单来说一个类便可成为一个组件。(为什么这么说,请参考《.Net组件程序设计》)。

    所以您在vs中创建一个类库项目 ,把公用部分的代码放到一个类 里,这样便可生成一个dll 用时引用 即可。

    在MSDN中组件被普遍认为是继承IComponet的类,如果您的公用代码涉及到界面则需要使用控件。

    关于组件和控件的官方参考和讨论可以参考:http://msdn.microsoft.com/zh-cn/library/ms171766(v=VS.90).aspx

    如果急于演练,请参考:http://msdn.microsoft.com/zh-cn/library/6d4270b7(v=VS.90).aspx

    • 已标记为答案 王基任 2010年12月14日 9:40
    2010年12月13日 15:06
    版主
  • 你好

    对于包含某些功能的代码,你可以新建一个project 然后选择project的类型为Class Library 将需要的函数及属性加入到里面 编译即可

    再调用时只要在project中添加引用刚编译得到的文件(右击project名称可看到‘添加引用’选项) 然后引入需要的命名空间,即可以使用定义的类及类的属性、方法。

    希望能对你有所帮助,有什么疑问可以指出来!

    Jelly

     

    • 已标记为答案 王基任 2010年12月14日 9:44
    2010年12月14日 5:12
  • dear
    你使用VS开启的专案建立的应用程式都是组件,比如 Winform专案,他也是一个类别。

    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
        }
    }

    经由VS编译完成她会在bin资料夹里的debug或release产生组件,这些dll或exe都可以拿来引用。因为Winform所包含的东西太多,所以一般开发组件会建立Class Library专案,Class Library所建立的大都是后端程式的演算逻辑。
    namespace ClassLibrary1
    {
        public class Class1
        {
        }
    }

    类别设计也就是design pattern是一门艺术,若你对C#与法以熟兮,建议你看程杰的"大话设计模式"一书
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    • 已标记为答案 王基任 2010年12月14日 9:46
    2010年12月14日 5:30

全部回复

  • 把你的源代码写成可继承的公有类。

    • 已标记为答案 王基任 2010年12月14日 9:35
    2010年12月13日 13:31
  • 比如 你可以DLL调用。做成一个一个命名空间下的类,实现某种功能 ,生成DLL文件。在你要做的项目中添加引用,找到你要引用的DLL文件就OK了。

    • 已标记为答案 王基任 2010年12月14日 9:35
    2010年12月13日 13:34
  • 您好, 其实.Net是被设计为面向组件的,简单来说一个类便可成为一个组件。(为什么这么说,请参考《.Net组件程序设计》)。

    所以您在vs中创建一个类库项目 ,把公用部分的代码放到一个类 里,这样便可生成一个dll 用时引用 即可。

    在MSDN中组件被普遍认为是继承IComponet的类,如果您的公用代码涉及到界面则需要使用控件。

    关于组件和控件的官方参考和讨论可以参考:http://msdn.microsoft.com/zh-cn/library/ms171766(v=VS.90).aspx

    如果急于演练,请参考:http://msdn.microsoft.com/zh-cn/library/6d4270b7(v=VS.90).aspx

    • 已标记为答案 王基任 2010年12月14日 9:40
    2010年12月13日 15:06
    版主
  • 你好,

        将程序集封装DLL文件或是COM组件就可以被其他项目调用。

        比如,你用C#写的代码(程序集),在编译选项中,把COM勾选上,那么它就可以在C++中使用。

        建议看一下相关资料,比如C#高级编程,关于程序集那章。

        如果你想复用UI上的控件,那么看一下MSDN关于自定义控件的资料。或是直接下载一个有源代码的控件,看一下你就明白个大概了。

     

        顺便说一下,简单来说,一般的DLL文件复用,是希望我们之前写的代码可以复用,而COM组件的复用,是我们希望,复用不仅仅是文件,同一开发语言下的复用,而是二进制层次上的复用。这样,就更方便了。

     

        至于如何使用,我一般是要么看相关文档,要么是点开,看看里边的命名空间是什么,提供哪些方法。


    1+1=The World >>> BLOG=http://blog.csdn.net/liuning800203 >>> Email=liuning800203@hotmail.com
    • 已编辑 0_1_TheWorld 2010年12月14日 5:09 补充
    • 已标记为答案 王基任 2010年12月14日 9:43
    2010年12月14日 4:53
  • 你好

    对于包含某些功能的代码,你可以新建一个project 然后选择project的类型为Class Library 将需要的函数及属性加入到里面 编译即可

    再调用时只要在project中添加引用刚编译得到的文件(右击project名称可看到‘添加引用’选项) 然后引入需要的命名空间,即可以使用定义的类及类的属性、方法。

    希望能对你有所帮助,有什么疑问可以指出来!

    Jelly

     

    • 已标记为答案 王基任 2010年12月14日 9:44
    2010年12月14日 5:12
  • dear
    你使用VS开启的专案建立的应用程式都是组件,比如 Winform专案,他也是一个类别。

    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
        }
    }

    经由VS编译完成她会在bin资料夹里的debug或release产生组件,这些dll或exe都可以拿来引用。因为Winform所包含的东西太多,所以一般开发组件会建立Class Library专案,Class Library所建立的大都是后端程式的演算逻辑。
    namespace ClassLibrary1
    {
        public class Class1
        {
        }
    }

    类别设计也就是design pattern是一门艺术,若你对C#与法以熟兮,建议你看程杰的"大话设计模式"一书
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    • 已标记为答案 王基任 2010年12月14日 9:46
    2010年12月14日 5:30