_cuclife.com
当前位置:cuclife.com > IT > ASP.NET >

.NET组件编程(1) 基础

介绍下我的工作,公司主要是开发第三方组件(Component)、控件(Control),我看园子里的朋友们写这方面不是很多(也许是我没有看到),所以打算写个关于组件开发的系列文章。

   首先介绍基本知识,有很多的朋友搞不清楚Component与Control之间的区别,比较简单形象的区别有下面两点:

   1、Component在Run Time时不能呈现UI,而Control可以在Run Time时呈现UI(但是vs 2005里的asp.net中的SqlDataSource是Control,但是它不能呈现UI)。

   2、Component是贴在容器Container上的,而Control则是贴在Windows Form或者Web Form上的。

  举例来说,SqlCommand是个Component,DataGrid则是一个Control。

   那我们又如何来开发一个Component呢?其实很简单,只要我们把一个类从System.ComponentModel.Component(下面简写Component)继承下来即可

  。

   下面我们就来编写一个简单的Component,打开vs 2005添加一个新的ClassLibrary工程,名称为Components,更改Class1的代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;

namespace Components
{
    public class Component1 : Component
    {
        private int _id;
        private string _name;
        private DateTime _createDateTime;

    // 在Property窗口中为灰色显示。
        public int Id
        {
            get { return _id; }
        }

    // 在Property窗口中可以设置值。
        public string name
        {
            get { return _name; }
            set { _name = value; }
        }

    // 在Property窗口中不可见。
        public DateTime CreateDateTime
        {
            set { _createDateTime = value; }
        }
    }
}

  编译完成后,其Property的效果如下:

  请注意Id是灰色,不能对其进行设值,而CreateDateTime在Property窗口中没有显示。

文章来源:网络整理  本站编辑:兰特
上一篇:.NET,你忘记了么?(三续)——重新理解ListT
下一篇:.NET,你忘记了么(一)—— 遵从CLS
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)