c# - 将 IBuffer 转换为 IRandomAccessStream

标签 c# .net windows-store-apps win-universal-app uwp

我知道我可以将 IBuffer 转换为 Stream,然后从那里转换为 IRandomAccessStream。但是必须有一个直接的方法。

最佳答案

IBuffer 不是一个流,所以您需要有一些东西来使一个流适应另一个流。在 .NET 中,您可以使用 Stream

IBuffer buffer = ...;
IRandomAccessStream randomAccessStream = buffer.AsStream().AsRandomAccessStream();

如果编写这两个函数调用让您感到痛苦,您可以编写一个辅助函数。

static IRandomAccessStream AsRandomAccessStream(this IBuffer buffer)
{
    return buffer.AsStream().AsRandomAccessStream();
}

那么你可以做

IBuffer buffer = ...;
IRandomAccessStream randomAccessStream = buffer.AsRandomAccessStream();

关于c# - 将 IBuffer 转换为 IRandomAccessStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33879898/

相关文章:

c# - void 方法中的 return 语句

javascript - 从 WinJS.xhr 响应获取 URL

c# - 填充动态 DataGrid 时,BackgroundWorker 无法防止 ProgressBar 卡住

c# - 如何设置 Windows 服务的权限

c# - 确定皮肤文件中的 Safari 浏览器?

c# - SequenceEqual 的 IEqualityComparer

c# - 删除 Xslt 中的属性

javascript - 在 Windows Javascript 应用程序中未获得正确排序的数组

UWP(通用 Windows 平台)中的 Windows 应用程序认证问题

c# - XPath - 不包含表头的表行