菜鸟学C#

淡泊以明志,宁静以致远

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

作为整体发布的.NET可执行程序(或可执行程序的一部分)。

优点:重用,跨语言的程序设计

查看程序集的内容:开始菜单-Microsoft Visual 2008-VisualStudioTools-VisualStudioCommand Prompt,输入Ildasm

1,创建程序集:

新建-项目-类库

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Shapes
{
    public class Circle
    {
        double Radius;

        public Circle()
        {
            Radius = 0;
        }

        public Circle(double givenRadius)
        {
            Radius = givenRadius;
        }

        public double Area()
        {
            return System.Math.PI * (Radius * Radius);
        }
    }

    public class Triangle
    {
        double Base;
        double Height;

        public Triangle()
        {
            Base = 0;
            Height = 0;
        }

        public Triangle(double givenBase, double givenHeight)
        {
            Base = givenBase;
            Height = givenHeight;
        }

        public double Area()
        {
            return 0.5F * Base * Height;
        }
    }       
}

生成解决方案,Ildasm查看生成的dll

tmp30

.ctor为构造函数

2,调用程序集

新建工程,项目-添加引用-浏览

tmp4E2

找到生成的dll文件,确定。

添加按键,双击。

代码:

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 Shapes; // 把引用的空间声明好

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

        private void button1_Click(object sender, EventArgs e)
        {
            Circle c = new Circle(1.0F);//引用的类
            MessageBox.Show("Area of Circle(1.0) is " + (c.Area()).ToString());//引用的方法
        }
    }
}

运行结果:

tmp4E9

注:查看项目文件夹,发现dll已经拷贝到当前执行文件夹中,以后发布的话整个目录端过去就行了,方便啊。

tmp4EA

3,私有个共享程序集

之前都只把dll拷贝放到当前执行文件夹中,但每个程序都放一个岂不浪费,可以使用共享程序集即可解决问题,dll存储在GAC中,所以程序无需知道共享程序集的位置,只要在系统范围都可以使用共享程序集。使用方法后续补充。

posted on 2009-09-03 11:10  东东会会  阅读(602)  评论(0编辑  收藏  举报