通过代码生成机制实现强类型编程-CodeSimth版
2010-09-25 09:23
513 查看
一直想写一个Code生成系列,但写到CodeSimth,发觉在TerryLee 和努力学习的小熊 两位大牛的博客里讲很详尽,所以就像写些示例方面的,但是苦于没有想到写些什么。最近Artech写了两篇从数据到代码——通过代码生成机制实现强类型编程--上篇和下篇,大牛写得是CodeDom的,今天我就想借借大牛的示例写个CodeSimth版的,希望Artech不要怪我,呵呵。我的Code生成技术已经写了CodeDom的见CodeDom系列目录,欢迎各位园友指教。
好直接到主题。首先是数据实体MessageEntry(我到老A的基础上添加了description属性作为代码字段描述):
代码
1 //Copyright (C) Wolf. All rights reserved.
2 using Wolf;
3 using System;
4 using System.Collections.Generic;
5 namespace Wolf.Message
6 {
7 public class Messages
8 {
9 public class Validation
10 {
11
12 /// <summary>
13 ///description
14 /// </summary>
15 public static Wolf.MessageEntry MandatoryField = new MessageEntry("MandatoryField",
16
17 "The {0} is mandatory.", "The {0} is mandatory.");
18
19 /// <summary>
20 ///description
21 /// </summary>
22 public static Wolf.MessageEntry GreaterThan = new MessageEntry("GreaterThan",
23
24 "The {0} must be greater than {1}.", "The {0} must be greater than {1}.");
25
26 }
27
28 public class Confirmation
29 {
30
31 /// <summary>
32 ///description
33 /// </summary>
34 public static Wolf.MessageEntry ReallyDelete = new MessageEntry("ReallyDelete",
35
36 "Do you really want to delete the {0}.", "Do you really want to delete the {0}.");
37
38 }
39
40 }
41 }
42
43
ok,全部完成。同时你也可以完全集成与VS中利用VSX Vs扩展,可以参考明年我18 的VSX系列
好直接到主题。首先是数据实体MessageEntry(我到老A的基础上添加了description属性作为代码字段描述):
代码
1 //Copyright (C) Wolf. All rights reserved.
2 using Wolf;
3 using System;
4 using System.Collections.Generic;
5 namespace Wolf.Message
6 {
7 public class Messages
8 {
9 public class Validation
10 {
11
12 /// <summary>
13 ///description
14 /// </summary>
15 public static Wolf.MessageEntry MandatoryField = new MessageEntry("MandatoryField",
16
17 "The {0} is mandatory.", "The {0} is mandatory.");
18
19 /// <summary>
20 ///description
21 /// </summary>
22 public static Wolf.MessageEntry GreaterThan = new MessageEntry("GreaterThan",
23
24 "The {0} must be greater than {1}.", "The {0} must be greater than {1}.");
25
26 }
27
28 public class Confirmation
29 {
30
31 /// <summary>
32 ///description
33 /// </summary>
34 public static Wolf.MessageEntry ReallyDelete = new MessageEntry("ReallyDelete",
35
36 "Do you really want to delete the {0}.", "Do you really want to delete the {0}.");
37
38 }
39
40 }
41 }
42
43
ok,全部完成。同时你也可以完全集成与VS中利用VSX Vs扩展,可以参考明年我18 的VSX系列
相关文章推荐
- 通过代码生成机制实现强类型编程-CodeSimth版
- 通过代码生成机制实现强类型编程-CodeSimth版
- 从数据到代码——通过代码生成机制实现强类型编程[下篇]
- 从数据到代码——通过代码生成机制实现强类型编程[上篇]
- 从数据到代码——通过代码生成机制实现强类型编程[下篇]
- 通过代码生成机制实现强类型编程
- 一起谈.NET技术,从数据到代码—通过代码生成机制实现强类型编程[下篇]
- 一起谈.NET技术,从数据到代码—通过代码生成机制实现强类型编程[上篇]
- 从数据到代码—通过代码生成机制实现强类型编程
- 从数据到代码——通过代码生成机制实现强类型编程[上篇]
- 通过编译时注解生成代码实现自己的ButterKnife
- Android注解使用之通过annotationProcessor注解生成代码实现自己的ButterKnife框架
- Strom程序的并发机制,配置并行度(代码实现)、动态改变并行度,local or shuffle分组,分组的概念以及分组类型
- 通过jquery获取上传文件名称、类型和大小的实现代码
- linux多线程编程详解教程(线程通过信号量实现通信代码)
- DAL是通过代码生成工具自动生成的XSD强类型dataset怎么样把DAL和BLL都独立成项目。
- 通过JS判断联网类型和连接状态的实现代码
- vs2013 窗体应用编程—控件大小随窗体变化(通过代码实现)
- YbSoftwareFactory 代码生成插件【十四】:通过 DynamicLinq 简单实现 N
- 通过JS判断联网类型和连接状态的实现代码