В моих классах я реализую IDisposable следующим образом:
public class User : IDisposable
{
public int id { get; protected set; }
public string name { get; protected set; }
public string pass { get; protected set; }
public User(int UserID)
{
id = UserID;
}
public User(string Username, string Password)
{
name = Username;
pass = Password;
}
// Other functions go here...
public void Dispose()
{
// Clear all property values that maybe have been set
// when the class was instantiated
id = 0;
name = String.Empty;
pass = String.Empty;
}
}
В VS2012 мой анализ кода говорит, что он правильно реализует IDisposable, но я не уверен, что я сделал здесь неправильно.
Точный текст выглядит следующим образом:
CA1063 Правильно выполните IDisposable. Предоставьте переопределяемую реализацию Dispose (bool) в "Пользователь" или отметьте тип как запечатанный. Вызов Dispose (false) должен только очищать собственные ресурсы. Вызов Dispose (true) должен очищать как управляемые, так и собственные ресурсы. stman User.cs 10
Для справки: CA1063: правильно реализовать IDisposable
Я прочитал эту страницу, но, боюсь, я не совсем понимаю, что нужно делать здесь.
Если кто-нибудь может объяснить в более ламинарных терминах, что проблема и/или как IDisposable должен быть реализован, это действительно поможет!