首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IFormatProvider In ICustomFormatter

IFormatProvider In ICustomFormatter
EN

Stack Overflow用户
提问于 2013-11-25 23:31:04
回答 1查看 440关注 0票数 0

我们希望像往常一样实现自定义格式化程序,最好使用来自微软的接口,所以我找到了ICustomFormatter。

http://msdn.microsoft.com/en-us/library/system.icustomformatter.format(v=vs.110).aspx

但是,接口的签名规定如下:

代码语言:javascript
复制
public string Format(string format, object arg, IFormatProvider formatProvider)
{

}

我还能用formatProvider做什么?我还没有看到很好的例子来说明为什么您关心formatProvider加载了这个ICustomFormatter。

我发现的唯一例子是这样的:

http://www.codeproject.com/Articles/6533/Custom-String-Formatting-in-NET

代码语言:javascript
复制
if (formatProvider is NumberFormatInfo)
    if (((NumberFormatInfo)formatProvider).UseDiacritic)
        c = diacritic;

但是这看起来就像糟糕的设计(拿一个接口,然后强耦合它)。

我是不是漏掉了一些特殊的用例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-25 23:36:45

IFormatProvider是为了向您的自定义格式化程序提供特定于区域性和全局格式的信息。当然,取决于您的自定义格式化程序正在做什么,您可能不需要任何这些信息,但是如果您正在格式化货币或浮点数或日期,那么您可能很想要它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20205664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档