
c#代码生成器,生成代码可用于Web及Winform编程,可批量导出代码,导出代码直接拷贝到VS中就可以使用,支持MSSqlServer,Oracle数据库.生成UI、BLL、DAL、MODEL;我做.net开发3年,一直都用这个生成器,觉得很好用,分享给大家;希望该工具能帮到你!
1.代码生成灵活,根据用户所编辑的模板生成代码。
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using ToolFunction;
using System.Data;
using CSScriptLibrary;
using Microsoft.CSharp;
using System.Reflection;
using System.Windows.Forms;
namespace AUTOCODE
{
////// 测试类
///public class @GetClassName(SourceTable)
{
@InitProperty(SourceTable)
}
}
#START@GetCamelCaseName
public static string GetCamelCaseName(string value)
{
return value.ToLower();
}
#END
#START@ConvertFirstCharToUpper
public static string ConvertFirstCharToUpper(string value)
{
return value.Substring(0, 1).ToUpper() + value.Substring(1);
}
#END
#START@InitProperty
///<summary>/// 生成属性代码
///</summary>///<param name="p_dtSource">数据源</param>///<returns>字符串</returns>public static string InitProperty(DataTable p_dtSource)
{
string _strLine = "";
foreach (DataColumn item in p_dtSource.Columns)
{
_strLine += "\n private " + GetCSharpVariableType(item) + " " + item.ColumnName.ToLower() + ";";
_strLine += "\n" + "public " + GetCSharpVariableType(item) + " " + GetPropertyName(item.ColumnName);
_strLine += "\n" + "{ ";
_strLine += "\n" + "get { return " + item.ColumnName.ToLower() + ";}";
_strLine += "\n" + "set {" + item.ColumnName.ToLower() + "= value;}";
_strLine += "\n" + "}";
}
return _strLine;
}
#END
#START@GetClassName
///<summary>/// 根据表生成类的名字
///</summary>///<param name="p_dtTable">表</param>///<returns></returns>public static string @GetClassName(DataTable p_dtTable)
{
if (p_dtTable == null)
{
return null;
}
string _strTemp = p_dtTable.TableName.Substring(0, 1).ToUpper() + p_dtTable.TableName.Substring(1).ToLower();
return _strTemp;
}
#END
#START@GetPropertyName
///<summary>/// 根据表名生成类
///</summary>///<param name="p_strName"></param>///<returns></returns>public static string GetPropertyName(string p_strName)
{
if (p_strName == null)
{
return null;
}
if (p_strName.Length == 1)
{
return p_strName.ToLower();
}
return p_strName.Substring(0, 1).ToUpper() + p_strName.Substring(1).ToLower();
}
#END
#START@GetLowerCaseName
public static string GetLowerCaseName(string value)
{
return value.ToLower();
}
#END
#START@GetCSharpVariableType
///<summary>/// 根据表的列转化代码中的数据类型
///</summary>///<param name="p_dcColumn">表列</param>///<returns></returns>public static string GetCSharpVariableType(DataColumn p_dcColumn)
{
if (p_dcColumn.ColumnName.EndsWith("TypeCode")) return p_dcColumn.ColumnName;
switch (p_dcColumn.DataType.Name.ToString())
{
case "AnsiString": return "string";
case "AnsiStringFixedLength": return "string";
case "Binary": return "byte[]";
case "Boolean": return "bool";
case "Byte": return "byte";
case "Currency": return "decimal";
case "Date": return "DateTime";
case "DateTime": return "DateTime";
case "Decimal": return "decimal";
case "Double": return "double";
case "Guid": return "Guid";
case "Int16": return "short";
case "Int32": return "int";
case "Int64": return "long";
case "Object": return "object";
case "SByte": return "sbyte";
case "Single": return "float";
case "String": return "string";
case "StringFixedLength": return "string";
case "Time": return "TimeSpan";
case "UInt16": return "ushort";
case "UInt32": return "uint";
case "UInt64": return "ulong";
case "VarNumeric": return "decimal";
default:
{
return "__UNKNOWN__";
}
}
}
#END
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using ToolFunction;
using System.Data;
using CSScriptLibrary;
using Microsoft.CSharp;
using System.Reflection;
using System.Windows.Forms;
namespace AUTOCODE
{
////// 测试类
///public class @GetClassName(SourceTable)
{
@InitProperty(SourceTable)
}
}
#START@GetCamelCaseName
public static string GetCamelCaseName(string value)
{
return value.ToLower();
}
#END
#START@ConvertFirstCharToUpper
public static string ConvertFirstCharToUpper(string value)
{
return value.Substring(0, 1).ToUpper() + value.Substring(1);
}
#END
#START@InitProperty
///<summary>/// 生成属性代码
///</summary>///<param name="p_dtSource">数据源</param>///<returns>字符串</returns>public static string InitProperty(DataTable p_dtSource)
{
string _strLine = "";
foreach (DataColumn item in p_dtSource.Columns)
{
_strLine += "\n private " + GetCSharpVariableType(item) + " " + item.ColumnName.ToLower() + ";";
_strLine += "\n" + "public " + GetCSharpVariableType(item) + " " + GetPropertyName(item.ColumnName);
_strLine += "\n" + "{ ";
_strLine += "\n" + "get { return " + item.ColumnName.ToLower() + ";}";
_strLine += "\n" + "set {" + item.ColumnName.ToLower() + "= value;}";
_strLine += "\n" + "}";
}
return _strLine;
}
#END
#START@GetClassName
///<summary>/// 根据表生成类的名字
///</summary>///<param name="p_dtTable">表</param>///<returns></returns>public static string @GetClassName(DataTable p_dtTable)
{
if (p_dtTable == null)
{
return null;
}
string _strTemp = p_dtTable.TableName.Substring(0, 1).ToUpper() + p_dtTable.TableName.Substring(1).ToLower();
return _strTemp;
}
#END
#START@GetPropertyName
///<summary>/// 根据表名生成类
///</summary>///<param name="p_strName"></param>///<returns></returns>public static string GetPropertyName(string p_strName)
{
if (p_strName == null)
{
return null;
}
if (p_strName.Length == 1)
{
return p_strName.ToLower();
}
return p_strName.Substring(0, 1).ToUpper() + p_strName.Substring(1).ToLower();
}
#END
#START@GetLowerCaseName
public static string GetLowerCaseName(string value)
{
return value.ToLower();
}
#END
#START@GetCSharpVariableType
///<summary>/// 根据表的列转化代码中的数据类型
///</summary>///<param name="p_dcColumn">表列</param>///<returns></returns>public static string GetCSharpVariableType(DataColumn p_dcColumn)
{
if (p_dcColumn.ColumnName.EndsWith("TypeCode")) return p_dcColumn.ColumnName;
switch (p_dcColumn.DataType.Name.ToString())
{
case "AnsiString": return "string";
case "AnsiStringFixedLength": return "string";
case "Binary": return "byte[]";
case "Boolean": return "bool";
case "Byte": return "byte";
case "Currency": return "decimal";
case "Date": return "DateTime";
case "DateTime": return "DateTime";
case "Decimal": return "decimal";
case "Double": return "double";
case "Guid": return "Guid";
case "Int16": return "short";
case "Int32": return "int";
case "Int64": return "long";
case "Object": return "object";
case "SByte": return "sbyte";
case "Single": return "float";
case "String": return "string";
case "StringFixedLength": return "string";
case "Time": return "TimeSpan";
case "UInt16": return "ushort";
case "UInt32": return "uint";
case "UInt64": return "ulong";
case "VarNumeric": return "decimal";
default:
{
return "__UNKNOWN__";
}
}
}
#END
2.提供模板文件管理模块。

3.提供基础配置模块,方便数据库连接,导出目录设置。

4.模板包含属性说明区,函数注册区,静态文本区,动态函数区。规范严谨,易于书写编辑。


5.通过动态编译实现了模板中可添加c#函数,对数据源进行动态操作。
6.多种文件格式导出(只有想生成的文件与数据表有紧密联系,均可根据动态函数区的代码进行代码生成)
未完成功能
支持SqlServer、mysql.
248.9M / 12-08
RTS即时战略
下载
248.9M / 12-08
RTS即时战略
下载
253.4M / 12-08
RPG角色扮演
下载
妻中蜜3全cg存档
10博网体育备用网址工具 / 28KB
下载
1
csgo空格键连跳脚本绿色免费版
10博网体育备用网址工具 / 564KB
下载
2
platform tools工具包官方版v36.0.2
编程软件 / 7.3M
下载
3
易控王文档加密软件v2017官方版绿色免费版
文件处理 / 46M
下载
4
DNF9周年第十套天空时装补丁
10博网体育备用网址工具 / 1.6M
下载
5
3456wg多选皮肤v10.6官方版
10博网体育备用网址工具 / 2.2M
下载
6
vba for wps安装包v7.1官方版
编程软件 / 35.0M
下载
7
GTKWave(WAV文件波形察看工具)v3.3.66 官方版
文件处理 / 4.4M
下载
8
苹果ios10强制降级工具绕过验证1.0 官方版
文件处理 / 60M
下载
9
支付宝AR红包小工具1.0 绿色版
文件处理 / 255KB
下载
10
153M / 06-05
立即下载
444M / 06-05
立即下载
497M / 06-05
立即下载
2.34G / 06-05
立即下载
815.1M / 06-05
立即下载
1.33G / 06-05
立即下载
600M / 06-05
立即下载
18M / 06-04
立即下载
1.35G / 06-04
立即下载
892.3M / 06-04
立即下载
985.7M / 06-08
立即下载
301.0M / 06-08
立即下载
34.60G / 06-08
立即下载
2.63G / 06-08
立即下载
926.0M / 06-08
立即下载
847.0M / 06-08
立即下载
296.2M / 06-05
立即下载
35.0M / 06-05
立即下载
365.2M / 06-05
立即下载
234.2M / 06-05
立即下载
11.2M / 06-05
立即下载 45.5M / 06-05
立即下载 14.1M / 06-05
立即下载 26.2M / 06-05
立即下载 133M / 06-05
立即下载 390.3M / 06-05
立即下载 8M / 06-04
立即下载 156M / 06-04
立即下载 91.7M / 06-04
立即下载 21M / 06-04
立即下载 181.9M / 06-05
立即下载 46M / 06-05
立即下载 88.6M / 06-05
立即下载 29.7M / 06-05
立即下载 870.4M / 06-05
立即下载 44M / 06-05
立即下载 13.7M / 06-05
立即下载 29.30G / 06-04
立即下载 25.34G / 06-04
立即下载 2.73G / 06-04
立即下载 1.05G / 06-05
立即下载 2.49G / 06-01
立即下载 9.84G / 06-01
立即下载 956.1M / 05-28
立即下载 181.5M / 05-28
立即下载 255.9M / 05-28
立即下载 245.1M / 05-28
立即下载 1.07G / 05-28
立即下载 113.2M / 05-28
立即下载 240.0M / 05-28
立即下载 25.7M / 06-05
立即下载 120.5M / 06-05
立即下载 1.10G / 06-05
立即下载 6.09G / 06-04
立即下载 8M / 06-04
立即下载 3.30G / 06-04
立即下载 820.0M / 06-04
立即下载 30.2M / 06-04
立即下载 310.4M / 06-04
立即下载 8M / 06-04
立即下载 231.5M / 06-05
立即下载 79.6M / 06-05
立即下载 17.7M / 06-05
立即下载 499.9M / 06-05
立即下载 160M / 06-04
立即下载 60M / 06-04
立即下载 254.8M / 06-04
立即下载 268M / 06-04
立即下载 232.0M / 06-04
立即下载 1.40G / 12-19
立即下载 35.6M / 06-05
立即下载 4.07G / 06-05
立即下载 222.0M / 06-05
立即下载 13.4M / 01-03
立即下载 293.0M / 09-05
立即下载 1.22G / 07-06
立即下载 20.53G / 07-06
立即下载 229.9M / 07-06
立即下载 3.70G / 07-06
立即下载 904.0M / 07-06
立即下载