试图枚举枚举时出现错误

本文关键字:枚举 错误 | 更新日期: 2023-09-27 18:17:01

我有以下模型:

public class FormModel
{
  public Guid {get; set;}
  public Sections Sections {get; set}
}
[Flags]
    public enum Sections
    {
        Test1= 0,
        Test2= 1,
        Test3= 2,
        Test4= 4,
        Test5= 8,
        Test6= 16
    }

我正在使用一个返回带有数据的模型的服务:

var form = await _formService.GetById(formAnswer.FormId);

现在sections -属性包含:Test1 | Test2

我试着像这样枚举这个属性:

 var list = new List<string>();
 foreach(var item in Enum.GetValues(typeof(form.Sections)))
 {
     //Add the form.Sections into the list.
 }

但是我得到错误:

'form'是一个变量,但像类型一样使用

我如何枚举模型的sections属性并将值添加到列表中?

试图枚举枚举时出现错误

你打错了。您使用的是表单实例,而不是枚举的类型。试一试:

foreach (var item in Enum.GetValues(typeof(Sections)))
{
    if (((int)form.Sections & (int)item) != 0)
    {
         // add to list
    }
}