¾Æ·¡ ¼³¸íÀ» ÂüÁ¶Çϼ¼¿ä.
using ¹®Àº IDisposable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °³Ã¼¸¦ ¿Ã¹Ù¸£°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÖ´Â ±¸¹®ÀÔ´Ï´Ù. using ¹®À¸·Î °³Ã¼¸¦ ¹¾î¼ »ý¼ºÇϸé ÇØ´ç using ¹®ÀÌ Á¾·áµÇ¸é ÀÚµ¿À¸·Î Dispose() ¸Þ¼µå¸¦ È£ÃâÇؼ Á¤»ó Á¾·áÇϵµ·Ï 󸮸¦ ÇØÁÝ´Ï´Ù.
<ÄÚµå> IDisposableDemo.cs
// IDisposable ÀÎÅÍÆäÀ̽º : ¸¶¹«¸®(´Ý±â)¸¦ ÀÚµ¿À¸·Î ±¸Çö + using ¹®°ú ÇÔ²² »ç¿ë
using System;
namespace IDisposableDemo
{
class IDisposableDemo
{
static void Main(string[] args)
{
Console.WriteLine("[1] ¿±â");
using (var t = new Toilet())
{
// ƯÁ¤ ÇÁ·Î¼¼½º Á¾·á½Ã ÀÚµ¿À¸·Î ´Ý±â ¼öÇà
Console.WriteLine("[2] »ç¿ë");
}
}
}
public class Toilet : IDisposable
{
public void Dispose()
{
Console.WriteLine("[3] ´Ý±â");
}
}
}
ÄÚµå>
<½ÇÇà°á°ú>
[1] ¿±â
[2] »ç¿ë
[3] ´Ý±â
°è¼ÓÇÏ·Á¸é ¾Æ¹« Å°³ª ´©¸£½Ê½Ã¿À . . .
SqlDataReader °³Ã¼´Â
°³Ã¼ »ý¼º ÈÄ Open()°ú Close()¸¦ ¸íÈ®ÇÏ°Ô ÇØÁà¾ßÇϴµ¥¿ä.
using ¹®À» »ç¿ëÇϸé
»ç¿ë ÈÄ ´Ý´Â(Dispose) ±¸¹®À» ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÏÁö ¾Ê¾Æµµ
°³Ã¼ »ç¿ë ÈÄ ´Ý´Â ±â´ÉÀ» using ¹®ÀÌ ½ÇÇàÇØÁÝ´Ï´Ù.
using ¹®À» »ç¿ëÇÒ ¼ö ÀÖ´Â ´ë»óÀº ÇØ´ç Ŭ·¡½º°¡ IDisposable ÀÎÅÍÆäÀ̽º¸¦
»ó¼Ó¹Þ´Â Ŭ·¡½ºÀÔ´Ï´Ù.
Ãß°¡ÀûÀÎ ³»¿ëÀº
±¸±Û¿¡¼ "C# using ¹®" µîÀ» °Ë»öÇغ¸½Ã¸é ÁÁ½À´Ï´Ù.
https://msdn.microsoft.com/ko-kr/library/yh598w02.aspx
ÀÌ»óÀÔ´Ï´Ù.
±èÁø¸¸ ´ÔÀÌ ¾²½Å ¿ø¹® ±ÛÀÔ´Ï´Ù.
¾È³çÇϼ¼¿ä °»ç´Ô
»õÇØ º¹ ¸¹ÀÌ ¹ÞÀ¸¼¼¿ä~~
´å³Ý 3.5°Ô½ÃÆÇ ÀÚ·á½Ç °Á¿¡¼¿ä
»ó¼¼ÆäÀÌÁö¿Í °Ë»ö ÆäÀÌÁö¿¡ using±¸¹®À» »ç¿ëÇϼ̴µ¥¿ä
public UploadEntity ViewUpload(int num)
{
UploadEntity ue = new UploadEntity();
using (IDataReader objDr = (new UploadDac()).GetUploadByNum(num))
{
while (objDr.Read())
{
ue.Num = num;
ue.Name = objDr["Name"].ToString();
//ÀÌÇÏ »ý·«
}
}
return ue;
}
Áú¹®Àº using±¸¹®À» »ç¿ëÇÏ´Â °Í°ú »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÇ Â÷ÀÌÁ¡ÀÌ ¹«¾ùÀÎÁö ±Ã±ÝÇÕ´Ï´Ù. ±×¸®°í, ¾î¶³¶§ using±¸¹®À» »ç¿ëÇØ¾ß ÇÏ´ÂÁöµµ ¾Ë°í½Í½À´Ï´Ù.
|