我复制了一段用 VB.Net 编写的遗留代码,当转换为 C# 时,它产生了以下内容:
///<summary>
///Test whether SSAC should be serialized
///</summary>
public virtual bool ShouldSerializeSSAC()
{
if (_shouldSerializeSSAC)
{
return true;
}
return (_sSAC != (SSAC_Type)null);
}
它抛出一个错误,指出它无法转换,因为它是不可为空的类型。SSAC 的代码如下:
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.6.81.0"), System.SerializableAttribute()]
public enum SSAC_Type
{
///<remarks/>
A,
///<remarks/>
B,
///<remarks/>
C,
///<remarks/>
D,
///<remarks/>
E,
///<remarks/>
F,
///<remarks/>
G,
///<remarks/>
H,
///<remarks/>
J
}
在 VB.Net 中,这个函数如下:
Public Overridable Function ShouldSerializeSSAC() As Boolean
If _shouldSerializeSSAC Then
Return True
End If
Return (_sSAC <> CType(Nothing, SSAC_Type))
End Function
而 SSAC 类如下:
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.6.81.0"),
System.SerializableAttribute()>
Public Enum SSAC_Type
'''<remarks/>
A
'''<remarks/>
B
'''<remarks/>
C
'''<remarks/>
D
'''<remarks/>
E
'''<remarks/>
F
'''<remarks/>
G
'''<remarks/>
H
'''<remarks/>
J
End Enum
如何更新 C# 代码以修复此错误?