HJ212 and Documents
This commit is contained in:
@@ -1,18 +1,29 @@
|
||||
using Microsoft.CodeAnalysis;
|
||||
using Microsoft.CodeAnalysis;
|
||||
|
||||
namespace Modbus.Net.CodeGenerator
|
||||
{
|
||||
/// <summary>
|
||||
/// 数据库写入实体代码生成器
|
||||
/// 使用 Roslyn 源生成器自动生成 DatabaseWriteEntity 类的属性
|
||||
/// </summary>
|
||||
[Generator]
|
||||
public class DatabaseWriteEntityCodeGenerator : ISourceGenerator
|
||||
{
|
||||
/// <summary>
|
||||
/// 执行代码生成
|
||||
/// 生成 10 个 Value1 到 Value10 的双精度属性
|
||||
/// </summary>
|
||||
public void Execute(GeneratorExecutionContext context)
|
||||
{
|
||||
var content = "";
|
||||
// 生成 10 个属性:Value1 到 Value10
|
||||
for (int i = 1; i <= 10; i++)
|
||||
{
|
||||
content += $@"public double? Value{i} {{ get; set; }}
|
||||
";
|
||||
}
|
||||
|
||||
// 生成完整的类代码
|
||||
var source = $@"
|
||||
|
||||
namespace MachineJob
|
||||
@@ -22,12 +33,15 @@ namespace MachineJob
|
||||
{content}
|
||||
}}
|
||||
}}";
|
||||
// 添加生成的源代码到编译
|
||||
context.AddSource("DatabaseWriteContent.g.cs", source);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化生成器
|
||||
/// </summary>
|
||||
public void Initialize(GeneratorInitializationContext context)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user