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'를 사용해야합니다. –
@ 짐롤 좋은 지적. 그리고 그 라인을 따라,'default' case는 보통 임의 입력 switch 문을 다룰 때 좋은 생각입니다. – LBushkin