C# 从所有值的子集创建匿名枚举值
假设有一个枚举类型定义为:C# 从所有值的子集创建匿名枚举值,c#,autofixture,C#,Autofixture,假设有一个枚举类型定义为: enum Statuses { Completed, Pending, NotStarted, Started } 我想让Autofixture为我创建一个值,而不是挂起 因此(假设循环生成),我想得到: 已完成、未启动、已启动、已完成、未启动……最简单的方法是使用AutoFixture的生成器: 也有其他方法,但这是特别查询最简单的方法。最简单的方法是使用AutoFixture的生成器: 还有其他方法,但这是特别查询最简单的方法。这
enum Statuses
{
Completed,
Pending,
NotStarted,
Started
}
我想让Autofixture为我创建一个值,而不是挂起
因此(假设循环生成),我想得到:
已完成、未启动、已启动、已完成、未启动……最简单的方法是使用AutoFixture的
生成器:
也有其他方法,但这是特别查询最简单的方法。最简单的方法是使用AutoFixture的生成器:
还有其他方法,但这是特别查询最简单的方法。这里是。不幸的是,不起作用:AutoFixture无法从Ploeh.AutoFixture.Kernel.ISpecimenBuilderComposer创建实例,很可能是因为它没有公共构造函数,它是抽象或非公共类型。您使用的是哪个版本的AutoFixture?使用AutoFixture 3,如果执行fixture.Create()
(其中fixture
是一个newfixture()
实例),您将以循环方式获得每个状态
枚举值。你甚至不需要我前面提到的。如果这不起作用,那么如果你能用一些代码更新问题,重现你所描述的内容,那就太好了……不幸的是,我不得不坚持使用2.15.2.0。。。我一到家就去看看最新的。谢谢这里是。不幸的是不起作用:AutoFixture无法从Ploeh.AutoFixture.Kernel.ISpecimenBuilderComposer创建实例,很可能是因为它没有公共构造函数,是抽象或非公共类型。您使用的是哪个版本的AutoFixture?使用AutoFixture 3,如果执行fixture.Create()
(其中fixture
是一个newfixture()
实例),您将以循环方式获得每个状态
枚举值。你甚至不需要我前面提到的。如果这不起作用,那么如果你能用一些代码更新问题,重现你所描述的内容,那就太好了……不幸的是,我不得不坚持使用2.15.2.0。。。我一到家就去看看最新的。谢谢我感兴趣的是对任何枚举类型执行类似但完全通用的操作。我想忽略基于字符串匹配的任何值,例如未知或未初始化。有没有办法截取EnumGenerator返回的值?@Schneider很复杂。请回答新问题。谢谢马克。下面是您甚至可以执行的qnfixture.Create()。首先(s=>s!=Statuses.Pending)
我对为任何枚举类型执行类似但完全通用的操作感兴趣。我想忽略基于字符串匹配的任何值,例如未知或未初始化。有没有办法截取EnumGenerator返回的值?@Schneider很复杂。请回答新问题。谢谢马克。下面是您甚至可以执行的qnfixture.Create()。首先(s=>s!=Statuses.Pending)
var statuses = fixture
.Create<Generator<Statuses>>()
.Where(s => Statuses.Pending != s)
.Take(10);
var status = fixture
.Create<Generator<Statuses>>()
.Where(s => Statuses.Pending != s)
.First();