通过以某种方式在同一个使用块中声明2变量,是否可以使这个代码更紧凑?
using (var sr = new StringReader(content))
{
using (var xtr = new XmlTextReader(sr))
{
obj = XmlSerializer.Deserialize(xtr) as TModel;
}
}
Run Code Online (Sandbox Code Playgroud) 我有下面的函数,用于序列化对象而不添加XML声明.我刚刚打开了包含Visual Studio 2012的项目,而Code Analysis正在提出'CA2202:不要多次丢弃对象'警告.
现在在其他情况下,我通过删除[对象]来修复此警告.不需要关闭.但在这种情况下,我无法看到需要更改的内容,并且在准确时对警告的帮助并不完全正确有关如何引起或如何解决它的信息.
究竟是什么导致警告显示,我如何重构以避免它?
''' <summary>
''' Serialize an object without adding the XML declaration, etc.
''' </summary>
''' <param name="target"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function SerializeElementToText(Of T As New)(target As T) As String
Dim serializer As New XmlSerializer(GetType(T))
'Need to serialize without namespaces to keep it clean and tidy
Dim emptyNS As New XmlSerializerNamespaces({XmlQualifiedName.Empty})
'Need to remove xml declaration as we will use this as part of a larger xml file …Run Code Online (Sandbox Code Playgroud)