我有以下枚举定义如何在c#中使用switch组合中的枚举组合?
public enum UploaderType
{
BrandLogo = 0,
ReportingLogo = 1,
DocumentTemplate = 2,
MModalTemplate = 3,
}
我有,我想利用这个枚举
void FileUploadExceptionHandler(FileUploadControl.FileUploadExceptionType exceptionType, FileUploadControl.UploaderType uploaderType)
{
switch (uploaderType)
{
case FileUploadControl.UploaderType.DocumentTemplate:
(this.Page as PageBase).SetMessage(string.Format(GetLocalResourceObject("FileExtensionError").ToString(), docIndentifier, formatAllowed(ucdocxUploadControl.SupportedFileTypes)), PageMessageType.ErrorMessage);
break;
case FileUploadControl.UploaderType.MModalTemplate:
(this.Page as PageBase).SetMessage(string.Format(GetLocalResourceObject("FileExtensionError").ToString(), docIndentifier, formatAllowed(ucampUploadControl.SupportedFileTypes)), PageMessageType.ErrorMessage);
break;
case FileUploadControl.UploaderType.MModalTemplate|FileUploadControl.UploaderType.DocumentTemplate:
(this.Page as PageBase).SetMessage(string.Format(GetLocalResourceObject("FileExtensionErrorForBoth").ToString(), formatAllowed(ucdocxUploadControl.SupportedFileTypes), formatAllowed(ucampUploadControl.SupportedFileTypes)), PageMessageType.ErrorMessage);
break;
}
}
我试图使用第三种情况,但是编译器枚举的组合开关的情况下投诉的标签'case 3:'已经出现在这个switch语句中。
此枚举不在我的控制范围之内,所以icann不使用标志。请建议如何实现这一点。
当我打电话吧,我用
FileUploadExceptionHandler(FileUploadControl.FileUploadExceptionType.FileExtensionNotAllowed, FileUploadControl.UploaderType.DocumentTemplate | FileUploadControl.UploaderType.MModalTemplate);
什么是你想真正实现?这不是一个标志枚举,并给定值,它不是设计用于组合的方式。 – 2010-06-24 09:49:00
这是为单个文件上传而开发的,现在我上传了两个文件,并且在扩展名不匹配的情况下,我抛出了一个异常。当我调用它时,它并没有给出任何例外,但是UploaderType只保存最后一个值,即“MModalTemplate”。请参阅编辑。 – Rohit 2010-06-24 09:59:49