试图枚举枚举时出现错误
本文关键字:枚举 错误 | 更新日期: 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
}
}