解决IoTDB驱动单测点数据模型元组可空类型元素映射失败的问题。
This commit is contained in:
parent
6d95430b63
commit
d87f7a2c41
@ -580,7 +580,7 @@ namespace JiShe.CollectBus.IncrementalGenerator
|
||||
$"new EntityMemberInfo(" +
|
||||
$"\"{prop.Name}.{elementName}\", " +
|
||||
$"typeof({elementType}), " +
|
||||
$"typeof({elementType}).Name, " +//$"\"{elementDeclaredName}\", " +
|
||||
$"GetValueTupleElementName(typeof({elementType})), " +//$"\"{elementDeclaredName}\", " +
|
||||
$"(e) => Get{prop.Name}_{elementName}(({entityType})e), " +
|
||||
$"(e, v) => Set{prop.Name}_{elementName}(({entityType})e, ({elementType})v))");
|
||||
}
|
||||
@ -589,6 +589,30 @@ namespace JiShe.CollectBus.IncrementalGenerator
|
||||
|
||||
code.AppendLine(string.Join(",\n", initializerLines));
|
||||
code.AppendLine(" };");
|
||||
|
||||
code.AppendLine(GetValueTupleElementName());
|
||||
}
|
||||
|
||||
private static string GetValueTupleElementName()
|
||||
{
|
||||
return """
|
||||
public static string GetValueTupleElementName(Type declaredType)
|
||||
{
|
||||
string typeName;
|
||||
// 处理可空类型
|
||||
if (declaredType.IsGenericType && declaredType.GetGenericTypeDefinition() == typeof(Nullable<>))
|
||||
{
|
||||
Type underlyingType = Nullable.GetUnderlyingType(declaredType);
|
||||
typeName = underlyingType.Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
typeName = declaredType.Name;
|
||||
}
|
||||
|
||||
return typeName;
|
||||
}
|
||||
""";
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user