Я знаю, что это не стандартная практика, но есть ли минусы или лучшие альтернативы выполнению следующих действий?Я просто хочу убедиться, что код используется правильно, и .NET ничего не сделает для вас, чтобы обеспечить его.
public class MyClass : IDisposable
public void Dispose()
{
// Some managed shutdown logic...
GC.SuppressFinalize(this);
}
#if DEBUG
// Why is ConditionalAttribute not allowed if you can still achieve this with compiler directives?
// [Conditional("DEBUG")]
~SFtpClient()
{
Debug.Fail("This class is IDisposable and should be wrapped by using {}");
}
#endif
}