01-10-12, 11:38 PM
بالنسبة للمصادر المدارة والمصادر الغير مدارة
هناك طريقة سهلة جدا لمعرفة المصادر المدارة من المصادر الغير مدارة
المصادر المدارة ( حسب مفهوم الفريموورك ) Managed Resources هي تلك التي تحقق الواجهة IDisposable وبالتالي تكون المصادر الغير مدارة Unmanaged Resources هي تلك التي لا تحقق هذه الواجهة
مثلا إذا ذهبنا إلى مكتبة MSDN ونظرنا إلى الفئة Stream على سبيل المثال فستجد أن تعريفها Implementation يكون كما يلي
كود :
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public MustInherit Class Stream _
Inherits MarshalByRefObject _
Implements IDisposableوإذا نظرنا إلى الفئة StreamGeometry فسنجد أن تعريفها يكون كما يلي
كود :
<TypeConverterAttribute(GetType(GeometryConverter))> _
Public NotInheritable Class StreamGeometry _
Inherits Geometryكما يمكن استخدام البرنامج التالي من مايكروسوفت لتسهيل التفريق بين الفئات التي تحقق الواجهة IDisposable أم لا
Microsoft FxCop 1.36
