كيف تنفذ هذه الفئة idisposable إذا لم يكن لديها طريقة التخلص؟
-
30-09-2019 - |
سؤال
FTPWebResponse تنفذ idisposable ، ولكن ليس لديها طريقة التخلص. كيف يعقل ذلك؟
المحلول
لديها طريقة التخلص من خلال الميراث ، لكنها تنفيذ صريح. للاتصال بها ، سيكون عليك استخدام
((IDisposable)myObject).Dispose();
أو ، بالطبع ، فقط لفه في using
حظر ، كما يفعل الدعوة الصريحة لك.
نصائح أخرى
تم تنفيذه في الفئة الأساسية webresponse ، انظر http://msdn.microsoft.com/en-us/library/system.net.webresponse_methods.aspx
عند تنفيذ interface
صراحة ، لن تحصل على الطريقة في القائمة. سيتعين عليك إلقاء هذا الكائن لتنفيذه interface
للوصول إلى هذه الطريقة.
public class MyClass : IDisposable
{
void IDisposable.Dispose()
{
throw new NotImplementedException();
}
}
المرجعي : http://msdn.microsoft.com/en-us/library/ms173157.aspx
يتم تنفيذه في فئة الأساس webresponse
void IDisposable.Dispose()
{
try
{
this.Close();
this.OnDispose();
}
catch
{
}
}
alt text http://img227.imageshack.us/img227/2428/redgatesnetreflector.png
يرث من System.net.webResponse الذي ينفذ هذه الطرق.
لا تنتمي إلى StackOverflow