我真的被困在这里,并会感谢您的帮助。我创建了服务的请求数据合同和响应数据合同。请求 DTO 包含 Cardnum、Id 和 Noteline1----noteline18。响应 DTO 包含 noteline1--noteline18。
我将一个字符长度为 100 的字符串传递给请求数据成员 noteLine1(数据长度为 78 个字符)。现在我想确保只有 78 个字符应该填充到 noteline1 数据成员中,其余的应该适合请求 DTO 的另一个空的 noteline 数据成员。我使用了以下代码,它对我来说很好:
string requestNoteReason = request.noteLine1;
if (response != null)
{
foreach (PropertyInfo reqPropertyInfo in requestPropertyInfo)
{
if (reqPropertyInfo.Name.Contains("noteLine"))
{
if (reqPropertyInfo.Name.ToLower() == ("noteline" + i))
{
if (requestNoteReason.Length < 78)
{
reqPropertyInfo.SetValue(request, requestNoteReason, null);
break;
}
else
{
reqPropertyInfo.SetValue(request, requestNoteReason.Substring(0, 78), null);
requestNoteReason = requestNoteReason.Substring(78, requestNoteReason.Length - 78);
i++;
continue;
}
}
}
}
goto Finish;
}
现在我希望包含超过 78 个字符长度的字符串的 noteline1 应该拆分并填充到下一个空注释行中。如果字符串长度超过 200 个字符,则应拆分字符串并将其填充到下一个连续的空注释行中。例如,如果字符串需要3个空注释行的空间,那么它应该只填充下一个连续可用的空注释行中的剩余字符串。(即noteline2,noteline3,noteline4)并且不应该用已经存在的字符串填充noteline之前填的。
请帮忙