VS2005 تحليل الرمز: CA1063 (دعوة التخلص (صحيح) ووضع اللمسات الأخيرة تقمع) - مع تسجيل
-
19-08-2019 - |
سؤال
وأنا أحاول أن الالتزام بقواعد تحليل رمز VS2005 لمشروع جديد. لدي هذا الأسلوب:
public void Dispose()
{
Console.WriteLine("Dispose() called");
Dispose( true );
GC.SuppressFinalize(this);
}
(الدعوة حدة ستصبح مكالمة log4net في مرحلة ما، ونحن دائما ترغب في تسجيل التصرف لبعض أنواع دينا). م>
ووpresense من الخط حدة التصحيح يؤدي هذا الخطأ:
خطأ 1 CA1063: Microsoft.Design: تعديل PerfectDisposableClass.Dispose (): الفراغ بحيث يدعو تخلص (صحيح)، ثم يدعو GC.SuppressFinalize على سبيل المثال الكائن الحالي ( 'هذا' أو 'أنا' في VB)، ويعود ذلك الحين. F: \ البصرية ستوديو 2005 \ مشاريع \ DisposeAndFinalize \ DisposeAndFinalize \ PerfectDisposableClass.cs 26 DisposeAndFinalize م>
ودون اللجوء إلى توجيهات PRAGMA هناك طريقة جولة هذا؟ ربما كتابة قواعد الخاصة بي؟ أيضا، آير القواعد الموجودة في التجمع في مكان ما أستطيع أن ننظر مع عاكس؟
المحلول
هل يمكن وضع البيان سجل داخل تخلص (منطقي التخلص) طريقة للحفاظ على إطار المبادئ التوجيهية:
public void Dispose(bool disposing)
{
if (disposing)
{
Console.WriteLine("...");
}
...
}