mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
fix(generator): 解决重复引用路径生成成员名称不稳定问题
- 使用 TryGetValue 方法替代 ContainsKey 检查避免多次访问字典 - 重用跟踪的重复计数确保重复引用路径保持生成的成员名称稳定 - 修复重复计数递增逻辑确保正确的序号生成 - 简化重复计数器的使用方式提高代码可读性 - 移除文件末尾多余空行保持代码整洁
This commit is contained in:
parent
8c9fbb39b2
commit
34a333a0c1
@ -939,11 +939,13 @@ public sealed class SchemaConfigGenerator : IIncrementalGenerator
|
||||
foreach (var referenceSeed in EnumerateReferenceSeeds(rootObject.Properties))
|
||||
{
|
||||
var baseMemberName = BuildReferenceMemberName(referenceSeed.DisplayPath);
|
||||
if (memberNameCounts.ContainsKey(baseMemberName))
|
||||
if (memberNameCounts.TryGetValue(baseMemberName, out var duplicateCount))
|
||||
{
|
||||
memberNameCounts[baseMemberName]++;
|
||||
// Reuse the tracked duplicate count so repeated reference paths keep their generated member names stable.
|
||||
duplicateCount++;
|
||||
memberNameCounts[baseMemberName] = duplicateCount;
|
||||
baseMemberName =
|
||||
$"{baseMemberName}{memberNameCounts[baseMemberName].ToString(CultureInfo.InvariantCulture)}";
|
||||
$"{baseMemberName}{duplicateCount.ToString(CultureInfo.InvariantCulture)}";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user