函数返回类型不清楚

TeaDrivenDev

我有以下相当简单的F#函数:

let FormatValue (formatProvider : IFormatProvider) valueSuffix value =
    match value > Convert.ToDecimal(valueSuffix.MinimumValueRequired) with
    | true -> let normalizedValue = Convert.ToDecimal(value) / Convert.ToDecimal((Math.Pow(10., Convert.ToDouble(valueSuffix.PowerOfTen)))) in
                  string.Format("{0}{1}", normalizedValue.ToString(valueSuffix.Format, formatProvider), valueSuffix.Text)
    | false -> ""

返回类型正确推断为string,但是我string.Formattrue分支中得到一个错误标记,说该类型<'a> -> string与type不兼容ValueSuffix我发现这特别令人惊讶,因为可以正确推断所有其他类型,尤其是<'a>该函数中没有其他出现

我在做什么和/或理解错误?

约翰·帕尔默

问题是string.Format在F#代码中无效。

您需要使用

System.String.Format

要么

open System
.....
String.Format

(不同之处s在于string

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章