/// <summary>
/// 根据表结构生成对应的类编码。
/// </summary>
/// <param name="table">DataTable</param>
public static string GenerateClass(DataTable table, string className)
{
if ((table == null) || (table.Columns.Count == 0)) { return string.Empty; }
StringBuilder code = new StringBuilder();
code.AppendLine("public class " + className);
code.AppendLine("{");
code.AppendLine("#region Constructors/n");
code.AppendLine("public " + className + "(){}/n");
code.AppendLine("#endregion/n");
code.AppendLine("#region Fields & Properties/n");
foreach (DataColumn col in table.Columns)
{
string defaultValue = string.Empty;
if (col.DataType == typeof(string))
{
defaultValue = "string.Empty;";
}
else if (col.DataType == typeof(byte[]))
{
defaultValue = "new byte[0];";
}
else if (col.DataType == typeof(DateTime))
{
defaultValue = "DateTime.Now;";
}
if (!string.IsNullOrEmpty(defaultValue))
{
code.AppendLine(" private " + col.DataType.ToString() + " _" + Utility.FirstLetterLower(col.ColumnName) + " = " + defaultValue);
}
else
{
code.AppendLine(" private " + col.DataType.ToString() + " _" + Utility.FirstLetterLower(col.ColumnName) + ";");
}
code.AppendLine(" public " + col.DataType.ToString() + " " + col.ColumnName + "{");
code.AppendLine(" get{ return _" + Utility.FirstLetterLower(col.ColumnName) + "; }");
code.AppendLine(" set{ _" + Utility.FirstLetterLower(col.ColumnName) + " = value; }");
code.AppendLine("}/n");
}
code.AppendLine("#endregion/n");
code.AppendLine("}");
return code.ToString();
}