Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Información
El tema que ha solicitado se muestra abajo. Sin embargo, este tema no se encuentra en la biblioteca.

WindowsRuntimeStreamExtensions.AsOutputStream (Método)

.NET Framework (current version)

Convierte una secuencia administrada en .NET para aplicaciones de la Tienda Windows a un flujo de salida en Windows en tiempo de ejecución.

Esta API no es conforme a CLS. 

Espacio de nombres:  System.IO
Ensamblado:  System.Runtime.WindowsRuntime (en System.Runtime.WindowsRuntime.dll)

[CLSCompliantAttribute(false)]
public static IOutputStream AsOutputStream(
	this Stream stream
)

Parámetros

stream
Tipo: System.IO.Stream
Secuencia que se va a convertir.

Valor devuelto

Tipo: IOutputStream
Objeto Windows en tiempo de ejecución IOutputStream que representa el flujo convertido.

Nota sobre el uso

En Visual Basic y C#, se puede llamar a este método como a un método de instancia en cualquier objeto de tipo Stream. Cuando emplee la sintaxis del método de instancia para llamar a este método, omita el primer parámetro. Para obtener más información, consulte Métodos de extensión (Visual Basic) o Métodos de extensión (Guía de programación de C#).

ExcepciónCondición
ArgumentNullException

stream es null.

NotSupportedException

La secuencia no es compatible con la escritura.

El ejemplo siguiente se muestra cómo utilizar los métodos de AsInputStream y de AsOutputStream para convertir una secuencia administrada a y desde una secuencia en Windows en tiempo de ejecución.


using System;
using System.IO;
using System.Text;
using Windows.Storage;
using Windows.Storage.Streams;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;

namespace ExampleApplication
{
    public sealed partial class BlankPage : Page
    {
        System.Text.UnicodeEncoding ue;
        byte[] bytesToWrite;
        byte[] bytesToAdd;
        int totalBytes;

        public BlankPage()
        {
            this.InitializeComponent();
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            ue = new System.Text.UnicodeEncoding();
            bytesToWrite = ue.GetBytes("example text to write to memory stream");
            bytesToAdd = ue.GetBytes("text added through datawriter");
            totalBytes = bytesToWrite.Length + bytesToAdd.Length;
        }

        private async void CreateButton_Click(object sender, RoutedEventArgs e)
        {
            byte[] bytesRead = new byte[totalBytes];
            using (MemoryStream memStream = new MemoryStream(totalBytes))
            {
                await memStream.WriteAsync(bytesToWrite, 0, bytesToWrite.Length);

                DataWriter writer = new DataWriter(memStream.AsOutputStream());
                writer.WriteBytes(bytesToAdd);
                await writer.StoreAsync();

                memStream.Seek(0, SeekOrigin.Begin);

                DataReader reader = new DataReader(memStream.AsInputStream());
                await reader.LoadAsync((uint)totalBytes);
                reader.ReadBytes(bytesRead);
                Results.Text = ue.GetString(bytesRead, 0, bytesRead.Length);
            }
        }
    }
}


A continuación se muestra el código XAML asociado al ejemplo anterior.


<Page
    x:Class="ExampleApplication.BlankPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:ExampleApplication"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <StackPanel Background="{StaticResource ApplicationPageBackgroundBrush}" VerticalAlignment="Center" HorizontalAlignment="Center">
        <Button Name="CreateButton" Content="Write and read with stream" Click="CreateButton_Click"></Button>
        <TextBlock Name="Results"></TextBlock>
    </StackPanel>
</Page>


.NET Framework

Compatible con: 4.6, 4.5

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone Silverlight 8

.NET para aplicaciones de la Tienda Windows

Compatible con:

Windows 8,1, Windows Server 2012 R2, Windows 8, Windows Server 2012

.NET Framework no es compatible con todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, consulte Requisitos de sistema de .NET Framework.

Adiciones de comunidad

Mostrar: