代码之家  ›  专栏  ›  技术社区  ›  Lauren Van Sloun Sebastian Inones

为什么我不能在Humanizer库中使用textinfo.toTitleCase方法?

  •  1
  • Lauren Van Sloun Sebastian Inones  · 技术社区  · 6 年前

    我从他们的 github page 下载了Humanizer库的代码,当我在IntelliSense窗口中查看 textinfo的某些方法时,正在测试代码中的一些更改

    我以前从未见过这个图标,我想知道它是什么意思。我可以在正常应用程序中执行此方法调用,而不会出现任何错误。

    我也不确定什么 humanizer(netstandard1.0)-不可用 humanizer(netstandard2.0)-可用 mean in this context.

    这是我使用的代码:

    公共字符串转换(字符串输入)
    {
    textinfo textinfo=cultureinfo.invarianculture.textinfo;
    返回textinfo.toitlecase(输入);
    }
    < /代码> 
    
    

    这就产生了这个错误:

    < Buff行情>

    “textinfo”不包含“toitlecase”的定义,并且找不到接受“textinfo”类型的第一个参数的可访问扩展方法“toitlecase”(是否缺少using指令或程序集引用?)

    < /块引用>

    为什么我不能使用Humanizer库中的 TextInfo班级:

    Status warning on method Intellisense

    我以前从未见过这个图标,我想知道它是什么意思。我可以在正常的应用程序中进行这种方法调用而不产生任何错误。

    我也不确定Humanizer(netstandard1.0) - Not AvailableHumanizer(netstandard2.0) - Available在这种情况下意味着。

    下面是我使用的代码:

    public string Transform(string input)
    {
        TextInfo textInfo = CultureInfo.InvariantCulture.TextInfo;
        return textInfo.ToTitleCase(input);
    }
    

    这就产生了这个错误:

    “textinfo”不包含“toitlecase”的定义,并且找不到接受“textinfo”类型的第一个参数的可访问扩展方法“toitlecase”(是否缺少using指令或程序集引用?)

    为什么我不能用TextInfo.ToTitleCase(...)Humanizer库中的方法?

    2 回复  |  直到 6 年前
        1
  •  2
  •   jmoerdyk    6 年前

    他们正在做一个叫做“多目标”的工作,他们的代码生成两个不同版本的库,其中一个版本与 netstandard1.0 以及另一个与 netstandard2.0 应用程序编程接口:

     <TargetFrameworks>netstandard1.0;netstandard2.0</TargetFrameworks>
    

    TextInfo.ToTitleCase() 在2.0版之前未添加到.NET核心,因此,如果要将目标锁定在 netstandard 版本之前的框架 2.0 . 见 .NET Standard 对于运行时/平台支持哪个.NET标准版本的列表。

    除非您使用的是“条件编译”编译器指令,否则必须将代码限制为最低API支持的API。这些基本上是您为低级目标提供高级API函数的替代实现的地方。见 How to Multitarget 以微软.NET核心文档为例。

    这样做的原因是为了提供一个较小且通常不太复杂(代码方面)的库版本,该版本可以在可以使用更高级别API的项目中使用,但同时也是一个不能使用更高级别API的版本。

        2
  •  2
  •   Selman Genç    6 年前

    我也不确定Humanizer(NetStandard1.0)-不可用和Humanizer(NetStandard2.0)-可用在这种情况下意味着什么。

    这个 ToTitleCase .NET核心1.0(.netstandart=.NET核心)不支持方法,但在2.0版本中支持该方法。您可能正在使用不受支持的,因此会得到错误。

    你可以看看 documentation of 托蒂酶 查看支持哪个版本。

    推荐文章