如何将IFormatProvider传递给StreamWriter?
具体来说,我想创建一个
new StreamWriter("myfile.txt", CultureInfo.InvariantCulture);
TextWriter和StringWriter在构造函数中有一个参数,但是StreamWriter没有。
属性stringWriter.FormatProvider是只读的。
我可以想到三个看似糟糕的解决方案:
有办法为FormatProvider指定StreamWriter吗?基于来自TextWriter的继承,如果我只需要设置属性,StreamWriter就必须有处理这个问题的方法。
发布于 2012-08-17 19:16:28
因为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;
}
}
}发布于 2012-08-17 19:16:03
您可以创建一个从StreamWriter继承的新类,并重写虚拟FormatProvider属性。
https://stackoverflow.com/questions/12011789
复制相似问题