Roslyn+T4+EnvDTE项目完全自动化(4) ——批量生成参数检查
(视频演示)
类似功能写了几十个,基本上只要项目中重复两次以上,都可以用Roslyn自动化实现需求:批量生成参数查方法
- 对类自动生成参数检查代码
- 对ef类自动识别非空字段,Unicode字段,成参数检查代码
- 自动翻译字段
public partial class film
{
public void CheckFields()
{
if (title == null)
{
throw new Exception("标题 不能为空!");
}
if (title != null)
{
var length = System.Text.Encoding.UTF8.GetByteCount(title);
const int max = 255;
if (length > max)
{
throw new Exception($"标题 长度 {length} 不能超过 {max}!");
}
}
if (description != null)
{
var length = System.Text.Encoding.UTF8.GetByteCount(description);
const int max = 65535;
if (length > max)
{
throw new Exception($"描述 长度 {length} 不能超过 {max}!");
}
}
if (rating != null)
{
var length = System.Text.Encoding.UTF8.GetByteCount(rating);
const int max = 65532;
if (length > max)
{
throw new Exception($"评级 长度 {length} 不能超过 {max}!");
}
}
if (special_features != null)
{
var length = System.Text.Encoding.UTF8.GetByteCount(special_features);
const int max = 65531;
if (length > max)
{
throw new Exception($"特色 长度 {length} 不能超过 {max}!");
}
}
}
}