MemoryStream Sınıf

Tanım

Yedekleme deposu bellek olan bir akış oluşturur.

public ref class MemoryStream : System::IO::Stream
public class MemoryStream : System.IO.Stream
[System.Serializable]
public class MemoryStream : System.IO.Stream
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class MemoryStream : System.IO.Stream
type MemoryStream = class
    inherit Stream
[<System.Serializable>]
type MemoryStream = class
    inherit Stream
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MemoryStream = class
    inherit Stream
Public Class MemoryStream
Inherits Stream
Devralma
MemoryStream
Devralma
Öznitelikler

Örnekler

Aşağıdaki kod örneğinde, bir yedekleme deposu olarak bellek kullanarak verilerin nasıl okunduğu ve yazılması gösterilmektedir.

using namespace System;
using namespace System::IO;
using namespace System::Text;

int main()
{
   int count;
   array<Byte>^byteArray;
   array<Char>^charArray;
   UnicodeEncoding^ uniEncoding = gcnew UnicodeEncoding;

   // Create the data to write to the stream.
   array<Byte>^firstString = uniEncoding->GetBytes( "Invalid file path characters are: " );
   array<Byte>^secondString = uniEncoding->GetBytes( Path::InvalidPathChars );

   MemoryStream^ memStream = gcnew MemoryStream( 100 );
   try
   {
      // Write the first string to the stream.
      memStream->Write( firstString, 0, firstString->Length );

      // Write the second string to the stream, byte by byte.
      count = 0;
      while ( count < secondString->Length )
      {
         memStream->WriteByte( secondString[ count++ ] );
      }

      
      // Write the stream properties to the console.
      Console::WriteLine( "Capacity = {0}, Length = {1}, "
      "Position = {2}\n", memStream->Capacity.ToString(), memStream->Length.ToString(), memStream->Position.ToString() );

      // Set the stream position to the beginning of the stream.
      memStream->Seek( 0, SeekOrigin::Begin );

      // Read the first 20 bytes from the stream.
      byteArray = gcnew array<Byte>(memStream->Length);
      count = memStream->Read( byteArray, 0, 20 );

      // Read the remaining bytes, byte by byte.
      while ( count < memStream->Length )
      {
         byteArray[ count++ ] = Convert::ToByte( memStream->ReadByte() );
      }
      
      // Decode the Byte array into a Char array 
      // and write it to the console.
      charArray = gcnew array<Char>(uniEncoding->GetCharCount( byteArray, 0, count ));
      uniEncoding->GetDecoder()->GetChars( byteArray, 0, count, charArray, 0 );
      Console::WriteLine( charArray );
   }
   finally
   {
      memStream->Close();
   }
}
using System;
using System.IO;
using System.Text;

class MemStream
{
    static void Main()
    {
        int count;
        byte[] byteArray;
        char[] charArray;
        UnicodeEncoding uniEncoding = new UnicodeEncoding();

        // Create the data to write to the stream.
        byte[] firstString = uniEncoding.GetBytes(
            "Invalid file path characters are: ");
        byte[] secondString = uniEncoding.GetBytes(
            Path.GetInvalidPathChars());

        using(MemoryStream memStream = new MemoryStream(100))
        {
            // Write the first string to the stream.
            memStream.Write(firstString, 0 , firstString.Length);

            // Write the second string to the stream, byte by byte.
            count = 0;
            while(count < secondString.Length)
            {
                memStream.WriteByte(secondString[count++]);
            }

            // Write the stream properties to the console.
            Console.WriteLine(
                "Capacity = {0}, Length = {1}, Position = {2}\n",
                memStream.Capacity.ToString(),
                memStream.Length.ToString(),
                memStream.Position.ToString());

            // Set the position to the beginning of the stream.
            memStream.Seek(0, SeekOrigin.Begin);

            // Read the first 20 bytes from the stream.
            byteArray = new byte[memStream.Length];
            count = memStream.Read(byteArray, 0, 20);

            // Read the remaining bytes, byte by byte.
            while(count < memStream.Length)
            {
                byteArray[count++] = (byte)memStream.ReadByte();
            }

            // Decode the byte array into a char array
            // and write it to the console.
            charArray = new char[uniEncoding.GetCharCount(
                byteArray, 0, count)];
            uniEncoding.GetDecoder().GetChars(
                byteArray, 0, count, charArray, 0);
            Console.WriteLine(charArray);
        }
    }
}
Imports System.IO
Imports System.Text

Module MemStream

    Sub Main()
    
        Dim count As Integer
        Dim byteArray As Byte()
        Dim charArray As Char()
        Dim uniEncoding As New UnicodeEncoding()

        ' Create the data to write to the stream.
        Dim firstString As Byte() = _
            uniEncoding.GetBytes("Invalid file path characters are: ")
        Dim secondString As Byte() = _
            uniEncoding.GetBytes(Path.GetInvalidPathChars())

        Dim memStream As New MemoryStream(100)
        Try
            ' Write the first string to the stream.
            memStream.Write(firstString, 0 , firstString.Length)

            ' Write the second string to the stream, byte by byte.
            count = 0
            While(count < secondString.Length)
                memStream.WriteByte(secondString(count))
                count += 1
            End While
            
            ' Write the stream properties to the console.
            Console.WriteLine( _
                "Capacity = {0}, Length = {1}, Position = {2}", _
                memStream.Capacity.ToString(), _
                memStream.Length.ToString(), _
                memStream.Position.ToString())

            ' Set the stream position to the beginning of the stream.
            memStream.Seek(0, SeekOrigin.Begin)

            ' Read the first 20 bytes from the stream.
            byteArray = _
                New Byte(CType(memStream.Length, Integer)){}
            count = memStream.Read(byteArray, 0, 20)

            ' Read the remaining Bytes, Byte by Byte.
            While(count < memStream.Length)
                byteArray(count) = _
                    Convert.ToByte(memStream.ReadByte())
                count += 1
            End While

            ' Decode the Byte array into a Char array 
            ' and write it to the console.
            charArray = _
                New Char(uniEncoding.GetCharCount( _
                byteArray, 0, count)){}
            uniEncoding.GetDecoder().GetChars( _
                byteArray, 0, count, charArray, 0)
            Console.WriteLine(charArray)
        Finally
            memStream.Close()
        End Try

    End Sub
End Module

Açıklamalar

Akışın geçerli konumu, bir sonraki okuma veya yazma işleminin gerçekleşebileceği konumdur. Geçerli konum yöntemi aracılığıyla Seek alınabilir veya ayarlanabilir. Yeni bir örneği MemoryStream oluşturulduğunda, geçerli konum sıfır olarak ayarlanır.

Not

Bu tür arabirimini uygular IDisposable , ancak aslında atmak için herhangi bir kaynak içermez. yani Dispose() using , (C# ' de) veya (Visual Basic) gibi bir dil yapısını kullanarak doğrudan çağırarak veya bu uygulamayı elden atan bu Using gerekli değildir.

İmzasız bir bayt dizisiyle oluşturulan bellek akışları, verilerin yeniden boyutlandırılamayan bir akışını sağlar. Bayt dizisi kullanırken, oluşturucuya geçirilen parametrelere bağlı olarak mevcut içeriği değiştirebilmenize rağmen akışın sonuna ekleyemez veya daraltamazsınız. Boş bellek akışları yeniden boyutlandırılabilir ve bu akışlara yazılabilir ve buradan okunabilir.

ResX dosyasına veya .resources dosyasına bir MemoryStream nesne eklenirse, almak için çalışma zamanında yöntemini çağırın GetStream .

Bir MemoryStream nesne bir kaynak dosyasına seri hale getirilirse, aslında olarak UnmanagedMemoryStreamseri hale getirilir. Bu davranış, yöntemlere gitmek Stream zorunda kalmadan verilerin işaretçisini doğrudan alma özelliğinin yanı sıra daha iyi bir performans sağlar.

Oluşturucular

MemoryStream()

Sıfıra başlatılan genişletilebilir kapasite ile sınıfının yeni bir örneğini MemoryStream başlatır.

MemoryStream(Byte[])

Belirtilen bayt dizisine göre sınıfının yeniden boyutlandırılamayan yeni bir örneğini MemoryStream başlatır.

MemoryStream(Byte[], Boolean)

Belirtilen bayt dizisine göre sınıfın MemoryStream yeniden boyutlandırılamayan yeni bir örneğini, belirtilen özellik kümesiyle CanWrite başlatır.

MemoryStream(Byte[], Int32, Int32)

Bir bayt dizisinin MemoryStream belirtilen bölgesini (dizini) temel alarak sınıfın yeniden boyutlandırılamayan yeni bir örneğini başlatır.

MemoryStream(Byte[], Int32, Int32, Boolean)

Bir bayt dizisinin MemoryStream belirtilen bölgesini temel alarak sınıfının yeniden boyutlandırılamayan yeni bir örneğini başlatır ve CanWrite özellik belirtildiği gibi ayarlanır.

MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)

Bir bayt dizisinin MemoryStream belirtilen bölgesine göre sınıfının yeni bir örneğini başlatır, CanWrite özelliği belirtilen şekilde ayarlanır ve belirtilen şekilde küme çağrılabilme GetBuffer() özelliği.

MemoryStream(Int32)

Sınıfının yeni bir örneğini MemoryStream , belirtilen şekilde başlatılan genişletilebilir kapasiteyle başlatır.

Özellikler

CanRead

Geçerli akışın okumayı destekleyip desteklemediğini belirten bir değer alır.

CanSeek

Geçerli akışın aramayı destekleyip desteklemediğini belirten bir değer alır.

CanTimeout

Geçerli akışın zaman aşımına neden olup olmadığını belirleyen bir değer alır.

(Devralındığı yer: Stream)
CanWrite

Geçerli akışın yazmayı destekleyip desteklemediğini belirten bir değer alır.

Capacity

Bu akış için ayrılan bayt sayısını alır veya ayarlar.

Length

Akışın uzunluğunu bayt cinsinden alır.

Position

Akış içindeki geçerli konumu alır veya ayarlar.

ReadTimeout

Akışın zaman aşımına uğramadan önce ne kadar süreyle okumayı deneyeceğini belirleyen bir değeri milisaniye cinsinden alır veya ayarlar.

(Devralındığı yer: Stream)
WriteTimeout

Akışın zaman aşımına uğramadan önce ne kadar süreyle yazmaya çalışacağını belirleyen bir değeri milisaniye cinsinden alır veya ayarlar.

(Devralındığı yer: Stream)

Yöntemler

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Zaman uyumsuz bir okuma işlemi başlatır. (Bunun yerine kullanmayı ReadAsync(Byte[], Int32, Int32, CancellationToken) düşünün.)

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Zaman uyumsuz bir okuma işlemi başlatır. (Bunun yerine kullanmayı ReadAsync(Byte[], Int32, Int32) göz önünde bulundurun.)

(Devralındığı yer: Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Zaman uyumsuz bir yazma işlemi başlatır. (Bunun yerine kullanmayı WriteAsync(Byte[], Int32, Int32, CancellationToken) düşünün.)

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Zaman uyumsuz bir yazma işlemi başlatır. (Bunun yerine kullanmayı WriteAsync(Byte[], Int32, Int32) göz önünde bulundurun.)

(Devralındığı yer: Stream)
Close()

Okuma ve yazma akışını kapatır.

Close()

Geçerli akışı kapatır ve geçerli akışla ilişkili tüm kaynakları (yuvalar ve dosya tanıtıcıları gibi) serbest bırakır. Bu yöntemi çağırmak yerine akışın düzgün bir şekilde atıldığından emin olun.

(Devralındığı yer: Stream)
CopyTo(Stream)

Geçerli akıştan baytları okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyTo(Stream, Int32)

Geçerli bellek akışındaki baytları okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar.

CopyTo(Stream, Int32)

Geçerli akıştan baytları okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyToAsync(Stream)

Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyToAsync(Stream, CancellationToken)

Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve belirtilen iptal belirtecini kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyToAsync(Stream, Int32)

Geçerli akıştan baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Geçerli akıştan tüm baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutu ve iptal belirtecini kullanarak başka bir akışa yazar.

CopyToAsync(Stream, Int32, CancellationToken)

Geçerli akıştan baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutu ve iptal belirtecini kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
CreateWaitHandle()
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.

Bir WaitHandle nesne ayırır.

(Devralındığı yer: Stream)
Dispose()

Stream tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: Stream)
Dispose(Boolean)

sınıfı tarafından MemoryStream kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

Dispose(Boolean)

Stream tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

(Devralındığı yer: Stream)
DisposeAsync()

tarafından Streamkullanılan yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakır.

(Devralındığı yer: Stream)
EndRead(IAsyncResult)

Bekleyen zaman uyumsuz okumanın tamamlanmasını bekler. (Bunun yerine kullanmayı ReadAsync(Byte[], Int32, Int32, CancellationToken) düşünün.)

EndRead(IAsyncResult)

Bekleyen zaman uyumsuz okumanın tamamlanmasını bekler. (Bunun yerine kullanmayı ReadAsync(Byte[], Int32, Int32) düşünün.)

(Devralındığı yer: Stream)
EndWrite(IAsyncResult)

Zaman uyumsuz yazma işlemini sonlandırır. (Bunun yerine kullanmayı WriteAsync(Byte[], Int32, Int32, CancellationToken) düşünün.)

EndWrite(IAsyncResult)

Zaman uyumsuz yazma işlemini sonlandırır. (Bunun yerine kullanmayı WriteAsync(Byte[], Int32, Int32) göz önünde bulundurun.)

(Devralındığı yer: Stream)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Flush()

Flush() Hiçbir eylem gerçekleştirilmesi için yöntemini geçersiz kılar.

FlushAsync()

Bu akış için tüm arabellekleri zaman uyumsuz olarak temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur.

(Devralındığı yer: Stream)
FlushAsync(CancellationToken)

Bu akış için tüm arabellekleri zaman uyumsuz olarak temizler ve iptal isteklerini izler.

FlushAsync(CancellationToken)

Bu akış için tüm arabellekleri zaman uyumsuz olarak temizler, arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur ve iptal isteklerini izler.

(Devralındığı yer: Stream)
GetBuffer()

Bu akışın oluşturulduğu işaretsiz bayt dizisini döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Kullanımdan kalktı.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Kullanımdan kalktı.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
ObjectInvariant()

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.

için Contractdestek sağlar.

ObjectInvariant()
Kullanımdan kalktı.

için Contractdestek sağlar.

(Devralındığı yer: Stream)
Read(Byte[], Int32, Int32)

Geçerli akıştan bir bayt bloğu okur ve verileri arabelleğe yazar.

Read(Span<Byte>)

Geçerli bellek akışından bir bayt dizisini okur ve bellek akışı içindeki konumu okunan bayt sayısına göre ilerletir.

Read(Span<Byte>)

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli akıştan bir bayt dizisi okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir.

(Devralındığı yer: Stream)
ReadAsync(Byte[], Int32, Int32)

Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir.

(Devralındığı yer: Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Geçerli akıştan bir bayt dizisini zaman uyumsuz olarak okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler.

(Devralındığı yer: Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Geçerli bellek akışından bir bayt dizisini zaman uyumsuz olarak okur, dizinini içine destinationyazar, bellek akışındaki konumu okunan bayt sayısına göre ilerler ve iptal isteklerini izler.

ReadAsync(Memory<Byte>, CancellationToken)

Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler.

(Devralındığı yer: Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean) (Devralındığı yer: Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) (Devralındığı yer: Stream)
ReadByte()

Geçerli akıştan bir bayt okur.

ReadExactly(Byte[], Int32, Int32) (Devralındığı yer: Stream)
ReadExactly(Span<Byte>) (Devralındığı yer: Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) (Devralındığı yer: Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken) (Devralındığı yer: Stream)
Seek(Int64, SeekOrigin)

Geçerli akış içindeki konumu belirtilen değere ayarlar.

SetLength(Int64)

Geçerli akışın uzunluğunu belirtilen değere ayarlar.

ToArray()

Özelliğinden bağımsız olarak akış içeriğini bir bayt dizisine Position yazar.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
TryGetBuffer(ArraySegment<Byte>)

Bu akışın oluşturulduğu işaretsiz bayt dizisini döndürür. Dönüş değeri, dönüştürme işleminin başarılı olup olmadığını gösterir.

Write(Byte[], Int32, Int32)

Arabellekten okunan verileri kullanarak geçerli akışa bir bayt bloğu yazar.

Write(ReadOnlySpan<Byte>)

içinde bulunan source bayt sırasını geçerli bellek akışına yazar ve bu bellek akışındaki geçerli konumu yazılan bayt sayısına göre ilerletir.

Write(ReadOnlySpan<Byte>)

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli akışa bir bayt dizisi yazar ve yazılan bayt sayısına göre bu akıştaki geçerli konumu ilerletir.

(Devralındığı yer: Stream)
WriteAsync(Byte[], Int32, Int32)

Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar ve yazılan bayt sayısına göre bu akıştaki geçerli konumu ilerletir.

(Devralındığı yer: Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler.

(Devralındığı yer: Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

zaman uyumsuz olarak içinde bulunan source bayt dizisini geçerli bellek akışına yazar, bu bellek akışındaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler.

(Devralındığı yer: Stream)
WriteByte(Byte)

Geçerli akışa geçerli konumda bir bayt yazar.

WriteTo(Stream)

Bu bellek akışının tüm içeriğini başka bir akışa yazar.

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Stream tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: Stream)

Uzantı Metotları

AsInputStream(Stream)

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

AsOutputStream(Stream)

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

AsRandomAccessStream(Stream)

Belirtilen akışı rasgele erişim akışına dönüştürür.

GetWindowsRuntimeBuffer(MemoryStream)

Belirtilen bellek akışıyla aynı belleği temsil eden bir Windows. Storage. Streams. IBuffer arabirimi döndürür.

GetWindowsRuntimeBuffer(MemoryStream, Int32, Int32)

Belirtilen bellek akışının gösterdiği bellek içindeki bir bölgeyi temsil eden bir Windows. Storage. Streams. IBuffer arabirimi döndürür.

ConfigureAwait(IAsyncDisposable, Boolean)

Zaman uyumsuz bir atılabilir öğeden döndürülen görevlerde awaits işleminin nasıl gerçekleştirildiğini yapılandırıyor.

Şunlara uygulanır

Ayrıca bkz.