1
下面的C#代碼給出了以case
開頭的兩行錯誤。錯誤是「預計值不變」將字符串值與枚舉的字符串值進行比較
下面的VB.NET代碼正在工作。我使用這段代碼作爲我用C#編寫的真實應用程序的示例。
我沒有看到問題,但這並不意味着不存在。我使用了幾個在線代碼轉換器來檢查語法。兩者都返回相同的結果,這給出了錯誤。
ExportFormatType是第三方庫中的枚舉。
有什麼建議嗎?謝謝!
public void ExportCrystalReport(string exportType, string filePath)
{
if (_CReportDoc.IsLoaded == true)
{
switch (exportType)
{
case ExportFormatType.PortableDocFormat.ToString(): // Or "PDF"
ExportTOFile(filePath, ExportFormatType.PortableDocFormat);
break;
case ExportFormatType.CharacterSeparatedValues.ToString(): // Or "CSV"
ExportTOFileCSV(filePath, ExportFormatType.CharacterSeparatedValues);
break;
}
}
Public Sub ExportCrystalReport(ByVal exportType As String, ByVal filePath As String)
If _CReportDoc.IsLoaded = True Then
Select Case exportType
Case ExportFormatType.PortableDocFormat.ToString 'Or "PDF"
ExportTOFile(filePath, ExportFormatType.PortableDocFormat)
Case ExportFormatType.CharacterSeparatedValues.ToString ' Or "CSV"
ExportTOFileCSV(filePath, ExportFormatType.CharacterSeparatedValues)
在這裏可能應該使用'Enum.TryParse'來處理傳入的字符串不是爲枚舉定義的命名常量之一的情況。 –
@JimL好點。在這些方面,處理任意輸入切換語句時,「default」情況通常也是一個好主意。 – LBushkin