[英]StreamWriter and IFormatProvider
如何将IFormatProvider传递给StreamWriter?
具体来说我想创建一个
new StreamWriter("myfile.txt", CultureInfo.InvariantCulture);
TextWriter和StringWriter在构造函数中有一个参数,但StreamWriter没有。
属性stringWriter.FormatProvider是readonly。
我可以想到三个似乎不好的解决方案:
有没有办法为StreamWriter指定FormatProvider? 基于TextWriter的继承,如果我可以设置属性,StreamWriter必须有办法处理它。
由于FormatProvider
属性是虚拟的,您可以创建自己的子类,它接受IFormatProvider
:
public class FormattingStreamWriter : StreamWriter
{
private readonly IFormatProvider formatProvider;
public FormattingStreamWriter(string path, IFormatProvider formatProvider)
: base(path)
{
this.formatProvider = formatProvider;
}
public override IFormatProvider FormatProvider
{
get
{
return this.formatProvider;
}
}
}
您可以创建一个继承自StreamWriter的新类,并覆盖虚拟FormatProvider属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.