将内部区分并集的实例从F#初始化为C#
我有一个通过dll从F#导出的有区别的联合类型,用于C#:将内部区分并集的实例从F#初始化为C#,c#,f#,c#-to-f#,C#,F#,C# To F#,我有一个通过dll从F#导出的有区别的联合类型,用于C#: 在C#中,我可以初始化类似于Argument.NewBoolValue(true),但其他两种类型IntValue和FloatValue不是通过F#编译器生成的类型,因此标记为internal,是否有方法在C#中初始化它们?如果区分的并集实例没有任何有效负载,没有生成NewXXX方法。因为这种联合案例的所有实例都是相同的,并且不需要创建函数。因此,请改用staic属性 Argument.IntValue Argument.FloatVa
在C#中,我可以初始化类似于
Argument.NewBoolValue(true)
,但其他两种类型IntValue
和FloatValue
不是通过F#编译器生成的类型,因此标记为internal,是否有方法在C#中初始化它们?如果区分的并集实例没有任何有效负载,没有生成NewXXX
方法。因为这种联合案例的所有实例都是相同的,并且不需要创建函数。因此,请改用staic属性
Argument.IntValue
Argument.FloatValue
在内部,这些属性只返回相应用例的单例实例:
internal static readonly Argument _unique_IntValue = new _IntValue();
public static Argument IntValue => _unique_IntValue;
可以观察到更有趣的细节。应该有
参数.IntValue
和参数.FloatValue
静态属性
internal static readonly Argument _unique_IntValue = new _IntValue();
public static Argument IntValue => _unique_IntValue;