gpt4 book ai didi

vb.net - 不要将文字作为本地化参数传递

转载 作者:行者123 更新时间:2023-12-03 20:22:24 27 4
gpt4 key购买 nike

在我的项目(这是一个 Windows Phone 8.1 应用程序)上运行代码分析时,我收到以下警告:

CA1303 Do not pass literals as localized parameters Method 'Common.TranslateError(String)' passes a literal string as parameter 'text' of a call to 'XDocument.Parse(String)'. Retrieve the following string(s) from a resource table instead.


这是我的方法:
Public Function TranslateError(ByVal exMessage As String) As XDocument

Return XDocument.Parse("<Response><Exception><Message><" & XmlConvert.EncodeName(exMessage) & "></Message></Exception></Response>")

End Function
代码有效,自从添加代码以来,我不必解决这个问题,但是这个警告让我相信我没有做对的事情。
我对此进行了一些研究,并找到了 MSDN acticle CA1303: Do not pass literals as localized parameters但是我不能引用 ResourceManager .如果我可以引用它,我仍然不明白为什么在将字符串传递给 XDocument.Parse 时这是一个问题。 .
我想解决警告而不是压制它。有没有人知道如何解决这个问题或为什么会出现这样的警告?
如果您想复制,您需要配置规则集以使用 微软所有规则 :
enter image description here
然后运行分析选择 分析 从 Visual Studio 菜单中选择 在...上运行代码分析

最佳答案

正如@RyanRoos 所建议的,这段代码解决了警告:

Public Function TranslateError(ByVal exMessage As String) As XDocument

Dim sb As New StringBuilder("<Response><Exception><Message><![CDATA[" & XmlConvert.EncodeName(exMessage) & "]]></Message></Exception></Response>")

Return XDocument.Parse(sb.ToString())

End Function

关于vb.net - 不要将文字作为本地化参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40526908/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com