- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我今天在阅读有关 StreamWriter
的内容时,偶然发现了这个属性 BaseStream
。
我正在寻找一个定义并找到了这个
"Gets the underlying stream that interfaces with a backing store."
从这里MSDN - StreamWriter.BaseStream
我理解 StreamReader 的 BaseStream 是什么,因为它的定义非常简单:
Returns the underlying stream.
但是 StreamWriter.BaseStream 的定义是什么意思??或者更清楚地说,定义的这一部分是什么意思“与后备存储的接口(interface)”?这对我来说听起来像是胡言乱语。
最佳答案
你是对的;它确实显得过于冗长,尤其是与类似的 StreamReader.BaseStream
相比。实际上,它只是返回对底层流的引用,就像 StreamReader 一样。
我认为描述的假设是写入底层流将涉及将写入的数据保存到某种持久性存储中,例如文件。当然,这在现实中是完全没有必要的(在最坏的情况下,它什么都不做)。
如果您真的想要推断,您可以将其解释为底层流的 CanWrite
属性为 true
(至少在点它附加到 StreamWriter)。
为了确信它真的只是返回底层流,这里是来自 Reflector 的反编译代码:
public virtual Stream BaseStream
{
[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
get
{
return this.stream;
}
}
在 Init
方法中分配 stream
字段的地方:
private void Init(Stream stream, Encoding encoding, int bufferSize)
{
this.stream = stream;
...
然后由构造函数调用,参数是附加流:
[SecuritySafeCritical]
public StreamWriter(Stream stream, Encoding encoding, int bufferSize)
: base(null)
{
...
this.Init(stream, encoding, bufferSize);
}
关于c# - .Net StreamWriter.BaseStream,这个定义是什么意思? "Gets the underlying stream that interfaces with a backing store.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4653543/
我正在尝试在 .net 中使用 SerialPort 类。 我选择让我的服务保持异步,所以我在 SerialPort.BaseStream 上使用异步方法。 在我的异步方法中,我将一个 byte[]
我的根本问题是,当 using 在 StreamWriter 上调用 Dispose 时,它还会处理 BaseStream ( Close 也有同样的问题。 我有一个解决方法,但如您所见,它涉及复制流
我在 MemoryStream 中有一堆数据,我想将所有数据写入 BinaryWriter。 对我来说幸运的是,所有流现在都有一个 Stream.CopyTo(Stream) method ,我可以从
我试图将大量桌面捕获的图像发送到编码器 (FFmpeg) 标准输入。 以下代码示例有效。 CaptureScreen() 函数在 5-10 毫秒内提供图像。 如果我将图像保存在 MemoryStrea
这个问题说明了一切。这段代码 string hash = ""; using (var md5 = System.Security.Cryptography.MD5.Create()) {
首先我明白我可以用不同的方式解决这个问题。我想这个问题的存在只是因为以不正确的方式使用了不同的方法。但我想知道在我的示例中到底发生了什么。 我正在使用 StreamReader 读取文件。为了从中获取
我写了这个小程序,它从 Random.txt 中每隔 5 个字符读取一次在 random.txt 中,我有一行文本:ABCDEFGHIJKLMNOPRST。我得到了预期的结果: A的位置为0 F的位置
编辑:我已经添加了发送代码和我得到的接收输出示例。 我正在从连接到嵌入式系统的 USB“虚拟”串行端口读取数据。我写了两种接收数据的方法,一种是同步的,一种是异步的。同步的工作,而异步的会丢失或扰乱一
我今天在阅读有关 StreamWriter 的内容时,偶然发现了这个属性 BaseStream。 我正在寻找一个定义并找到了这个 "Gets the underlying stream that in
我是一名优秀的程序员,十分优秀!