WindowsRuntimeStreamExtensions.AsOutputStream(Stream) Yöntem

Tanım

Önemli

Bu API, CLS uyumlu değildir.

Windows Mağazası uygulamaları için .NET'te yönetilen bir akışı Windows Çalışma Zamanı bir çıkış akışına dönüştürür.

C#
[System.CLSCompliant(false)]
public static Windows.Storage.Streams.IOutputStream AsOutputStream (this System.IO.Stream stream);

Parametreler

stream
Stream

Dönüştürülecek akış.

Döndürülenler

Dönüştürülen akışı temsil eden bir Windows Çalışma Zamanı IOutputStream nesnesi.

Öznitelikler

Özel durumlar

stream, null değeridir.

Akış okumayı desteklemiyor.

Örnekler

Aşağıdaki örnek, yönetilen bir akışı Windows Çalışma Zamanı bir akışa ve akıştan dönüştürmek için ve AsOutputStream> yöntemlerinin nasıl kullanılacağını AsInputStream gösterir.

C#
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);
            }
        }
    }
}

Önceki örnekle ilişkili XAML kodu aşağıda verilmiştir.

XAML
<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>

Açıklamalar

Not

Visual Basic ve C# içinde, türündeki herhangi bir nesnede Streamörnek yöntemi olarak bu yöntemi çağırabilirsiniz. Bu yöntemi çağırmak için örnek yöntemi sözdizimini kullandığınızda, ilk parametreyi yok sayın. Daha fazla bilgi için bkz . Uzantı Yöntemleri (Visual Basic) veya Uzantı Yöntemleri (C# Programlama Kılavuzu).

Şunlara uygulanır

Ürün Sürümler
UWP 10.0