【转】制作.net实体类生成器(1)

简介: 目的:因为.NET2005代码重构功能中的封装字段,一次只能封闭一个字段,造成程序员某种程度上的重复性工作。制作实体类生成器将要实现的功能:可根据填写的类名,类说明,命名空间,字段的类型、属性名、备注,自动生成对应的代码。

目的:因为.NET2005代码重构功能中的封装字段,一次只能封闭一个字段,造成程序员某种程度上的重复性工作。
制作实体类生成器将要实现的功能:
可根据填写的类名,类说明,命名空间,字段的类型、属性名、备注,自动生成对应的代码。
制作工具:VS2005
制作语言:C#
制作平台:windows
制作步骤:
1)
img_cfca03e1379c6ade4159b7b5883791b7.jpg

2)
img_c1a23a2e78670fec81ce606026afb394.jpg
3)添加user类
img_3af9d627fb10fe48773b6de5b7729433.jpg
4)右键》重构》封装字段
img_f4ee34dabd4d4deca6338823d39d729e.jpg
5)
img_97418e9b296aed91f15f1a81fcae3c40.jpg
用类似的方法封装name
6)
namespace classgenerate
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
            user u = new user();
            u.Id = 1;
            u.Name = "午夜未眠";
        }
    }
}
7)生成看看:
img_8e6f56de46043add2619d70b5de43273.jpg

img_070a2d77fbb9ab511362dbaab4c55212.jpg
8)现想通过界面文本的输入使其自动生成似类于如下代码:
using System;
using System.Collections.Generic;
using System.Text;
/*
*作者:无声胜有声
* 时间:2009年9月20日
* 类说明:用户实体类
*/
namespace classgenerate
{
    /// <summary>
    /// 用户实体类
    /// </summary>
    public class user
    {
        private int id;
        /// <summary>
        /// 用户ID
        /// </summary>
        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        private string name;
        /// <summary>
        /// 用户名字
        /// </summary>
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
    }
}

9)根据界面的需要,拖入一些控件:
img_3eef1374c2bd4a634c8383d64d8f3b9e.jpg
10)从公共控件中拖入:标签(label)、方文框(textbox)、单选按钮1(checked属性为可选true),单选按钮2(checked属性为false),从数据控件中拖入:datagridview用来设要封装的字段相关的信息,button1(生成实体类按钮)整理完毕,界面运行效果如下:
img_423676bccf5bdaa06e56ae2dbac39b27.jpg
11)进一步优化界面:设置datagridview属性anchor为:top,bottom,left,right即上下左右跟随扩大或缩小,其name为:fdcontent(字段内容),button1的name为:btngenerate,命名空间文本框的name为:txtnamespace,两个单选按钮的name分别为:radyou,radwu,类说明文本框的name为txtexp(即说明单词前3个字母explanation),类名文本框的name为:txtclaname
12)点击datagridview的三角符号,然后选择添加列,输入相应的信息:
img_54dea1d7ece486e2df48f941500b5a25.jpg

img_0aacd2ba964de2d67c3928011e79989c.jpg
点击“添加”按钮即完成一个列的添加,用同样的方法进一步添加:名称为:type,类型选:datagridviewcombocolumn(即下拉框),页眉填:类型,再添加:名称为:remarks(备注的意思),类型:跟上图一样选文本框,页眉:填备注,完成点击关闭。
编辑“备注”列的属性将autosizemode设为fill
img_9918878897e2bd511876d5fcc5a9bd84.jpg
编辑“类型”列,设置字段的数据类型,items中点击collection在弹出对话框中填:int,string,float,double
img_541023054954c70bc7073a08a1df5159.jpg

目录
相关文章
|
前端开发 程序员 C#
【C#】.net core2.1,在实体类写了个非常经典的无限循环错误
遇到一个非常有趣的bug,使用VS2017调试运行.net core2.1 MVC项目时,程序本身运行的好好的,突然启动起来就报错 不得不说,编码细节很重要
115 0
|
存储 Shell 开发工具
.NET 7 预览版 2 已发布:RegEx 源生成器增强、NativeAOT 更新
.NET 7 预览版 2 已发布:RegEx 源生成器增强、NativeAOT 更新
188 0
|
数据库
一起谈.NET技术,在Entity Framework 4中映射现有实体类(POCO)
  Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。   Entity Framework的主要特点:   1. 支持多种数据库(Microsoft SQL Server, Oracle, and DB2);   2. 强劲的映射引擎,能很好地支持存储过程;   3. 提供Visual Studio集成工具,进行可视化操作;   4. 能够与ASP.NET, WPF, WCF, WCF Data Services进行很好的集成。
1033 0
|
数据库
在Entity“.NET研究” Framework 4中映射现有实体类(POCO)
  Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。   Entity Framework的主要特点:   1. 支持多种数据库(Microsoft SQL Server, Oracle, and DB2);   2. 强劲的映射引擎,能很好地支持存储过程;   3. 提供Visual Studio集成工具,进行可视化操作;   4. 能够与ASP.NET, WPF, WCF, WCF Data Services进行很好的集成。
1370 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
47 0
|
19天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
22 0
|
2月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
32 0
|
2月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
2月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
118 5