VS2005 تحليل الرمز: CA1063 (دعوة التخلص (صحيح) ووضع اللمسات الأخيرة تقمع) - مع تسجيل

StackOverflow https://stackoverflow.com/questions/340745

سؤال

وأنا أحاول أن الالتزام بقواعد تحليل رمز 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("...");
  }
  ...
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top