如何生成的F#类型提供
答
使用ProvidedTypeDefinition
没有ProvidedEnum,只需使用一个真正的枚举类型的基本类型。这个功能没有经过特别的测试,所以如果遇到问题,可以询问后续问题。
我不知道我理解你。假设我想用三个值A,B和C来生成一个新枚举。如果枚举不存在,我将哪些枚举传递给基类型?我应该在类型提供程序中创建具有多个属性的虚拟枚举,如Func 和Action ? – 2013-03-02 21:08:27
@ovatsus - 你需要有一个真正的枚举,你可以重新调整用途(可能是一个虚拟枚举,你可以为所有提供的枚举重用;不幸的是,所有F#枚举必须至少有一个值,与C#相比)。说实话,我不希望提供枚举工作,所以这个限制不会让我感到惊讶。 – kvb 2013-03-03 02:19:34
我试过你的方法(使用虚拟枚举作为基类型),它有点工作......但不是真的;报告的生成类型是通过反射的枚举(typeof .IsEnum = true),类型实际上并不像枚举。例如:let x = MySyntheticEnum.SomeLabel中的“x”被推断为int,而不是MySyntheticEnum类型的。该类型还有其他奇特的功能...... –
3Sphere
2013-12-31 06:36:39