KO CSharp Resources - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
ะฃะบัะฐัะฝััะบะฐ ยท ะ ัััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซไธญๆ ยท ๆฅๆฌ่ช ยท ํ๊ตญ์ด
๋ฆฌ์์ค ํด์ : IDisposable, using ๋ฐ await using
IDisposable.Dispose๋ ๋ ์ด์ ํ์ํ์ง ์์ ๋ฆฌ์์ค๋ฅผ ํด์ ํฉ๋๋ค. using๋ ๋ฆด๋ฆฌ์ค๋ฅผ ์ฝ๋ ์์ญ๊ณผ ์ฐ๊ฒฐํฉ๋๋ค. await using๊ฐ IAsyncDisposable.DisposeAsync๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. ๊ฐ๋น์ง ์์ง๊ธฐ๋ ๊ด๋ฆฌ๋๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๋ฉฐ ์ ์์ ํ์ผ ๋ฐ ๊ธฐํ ์ธ๋ถ ๋ฆฌ์์ค๋ฅผ ๋ซ๋ ๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ฐ๋จํ ์์ (Example.cs)
์ด ์์ ๋ฅผ Example.cs๋ก ๋ฐ๋ก ์ ์ฅํ๊ณ ์ด ํ์ด์ง์ ๋ค๋ฅธ ์์ ์ ๋
๋ฆฝ์ ์ผ๋ก ์คํํ์ธ์.
Example.cs:
// PROJECT-EXAMPLE
using System;
using (var stream = new System.IO.MemoryStream())
{
stream.WriteByte(65);
Console.WriteLine(stream.Length);
}
๊ฒฐ๊ณผ:
1
{
using var stream = new System.IO.MemoryStream();
stream.WriteByte(42);
stream.Position = 0;
UO.Print(stream.ReadByte().ToString());
}
sealed class Lease : IAsyncDisposable
{
public bool Released { get; private set; }
public ValueTask DisposeAsync()
{
Released = true;
return ValueTask.CompletedTask;
}
}
var lease = new Lease();
await using (lease)
{
await WaitAsync(10);
}
UO.Print(lease.Released.ToString());
๊ณต์ ๋ฌธ์: ๋ฆด๋ฆฌ์ค ๋ฆฌ์์ค: IDisposable, using ๋ฐ await using - Microsoft ํ์ต.