یک املاء (syntax) راحت که درستی استفاده از اشیاء IDisposable را تضمین میکند را ارائه می دهد.
مثال
مثال زیر چگونگی استفاده از بیان using را نشان می دهد.
ملاحظات
File و Font نمونه هایی از نوع های مدیریت شده (managed) هستند که منابع مدیریت نشده (unmanaged) را دستیابی می کنند (در این مورد دستگیره های فایل و زمینه ها دستگاه (دستگاهی که قرار است فونت در آنجا به نمایش در بیاید)) انواع گوناگون دیگری از منابع مدیریت نشده و نوع های کتابخانه کلاسی که آنها را کپسوله می کنند وجود دارد. همه ی چنین نوع هایی باید رابط IDisposable را پیاده سازی کنند.
به عنوان یک قانون، وقتی شما از یک شیئ IDisposable استفاده می کنید، می بایست آنرا در یم بیان using اعلان و نمونه سازی کنید. بیان using متد Dispose آن شیئ را به روشی درست فراخوانی می کند و (وقتی شما از آن به روشی که خواهد آمد استفاده می کنید) همچنین باعث می شود که شیئ به مجرد اینکه Dispose فراخوانی شد، خودش را از حوزه بیرون برود. در داخل بلوک using، آن شیئ فقط-خواندنی است و نمی توان آنرا ویرایش یا انتساب مجدد کرد.
بیان using تضمین می کند که متد Dispose فراخوانی می شود، حتی اگر در هنگام فراخوانی متدهای آن شیئ خطایی رخ دهد. شما می توانید با قرار دادن شیئ در داخل بلوک try و سپس فراخوانی Dispose در یک بلوک finally ، نتیجه مشابهی بدست آورید؛ در حقیقت این همان چگونگی ترجمه بیان using توسط کامپایلر است. کد مثال بعدی در زمان کامپایل به کد زیر بسط داده می شود ( برای ساختن حوزه ای محدود برای شیئ ، به آکولاد ها توجه کنید):
می توان چندین شیئ را در بیان using استفاده کرد، اما آنها باید در داخل بیان using اعلان شوند، مانند مثال زیر:
شما می توانید شیئ منبع را نمونه سازی کرده سپس متغیر مربوطه را به بیان using پاس دهید، اما این کار تمرین خوبی نیست. با این کار بعد از اینکه کنترل (روند اجرا) از بلوک using خارج شد، شیئ در حوزه (scope) باقی می ماند ولو اینکه احتمالا" دیگر به منابع مدیریت نشده اش دسترسی نخواهد داشت. به بیانی دیگر، دیگر کاملا مقداردهی اولیه نمی شود. اگر شما سعی کنید از بیرون بلوک using به شیئ دسترسی پیدا کنید، با ریسک پرتاب شدن یک استثناء مواجه می شود. به همین دلیل عموما" بهتر است که شیئ را در داخل بیان using نمونه سازی کنید و حوزه آن را به بلوک using محدود کنید.