PDA

View Full Version : سوال: استفاده از Using()



mreram
پنج شنبه 15 آبان 1393, 17:24 عصر
چه جاهایی باید یا نباید از using استفاده کرد؟؟
چجوری بفهمیم میتونیم روی یک کلاس ازین استفاده کنیم؟؟
از کجا بفهمیم کلاس مورد نظر اینترفیس IDisposable رو پیاده سازی میکنه که از using استفاده کنیم یا اگر راه دیگه ای هست بفرمایید؟؟

parvizwpf
پنج شنبه 15 آبان 1393, 17:55 عصر
اینکه میخواهید که مطمئن شوید که که یک کلاس iDisposable ، حتما در حین اجرای بلاک کدش کارش رو میبنده ، میتونید از using استفاده کنید.
روی هر کلاسی که F12 بزنید خواهید فهمید که آیا IDisposable رو پیاده کرده یا خیر.

mreram
پنج شنبه 15 آبان 1393, 18:05 عصر
اینکه میخواهید که مطمئن شوید که که یک کلاس iDisposable ، حتما در حین اجرای بلاک کدش کارش رو میبنده ، میتونید از using استفاده کنید.
روی هر کلاسی که F12 بزنید خواهید فهمید که آیا IDisposable رو پیاده کرده یا خیر.
مثلا FileStream وقتی f12 میزنم اینو نشون میده:

public class FileStream : Stream
خب اینطوری که مشخص میشه IDisposabale رو پیاده سازی نکرده ولی میشه تو using ازش استفاده کرد!
ولی stream پیاده سازی کرده در نتیجه تمام کلاس های پایه رو برای هر کلاس باید چک کرد که تو خود using قرار بدی خودش میگه پیاده سازی کرده یا نه در نتیجه این راه جواب نمیده:لبخند:

public abstract class Stream : MarshalByRefObject, IDisposable

parvizwpf
پنج شنبه 15 آبان 1393, 18:08 عصر
ublic abstract class Stream : MarshalByRefObject, IDisposable

Mahmoud.Afrad
پنج شنبه 15 آبان 1393, 19:43 عصر
به زبان ساده، هر شی ای که متد Dispose داشته باشه (میشه تا حدی مطمئن بود که) IDisposable هست و میشه در بلاک Using تعریفش کرد.