내 수업에서는 다음과 같이 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 'User'에서 무시할 수있는 Dispose (bool) 구현을 제공하거나 유형을 봉인 된 것으로 표시하십시오. Dispose (false)를 호출하면 기본 리소스 만 정리해야합니다. Dispose (true)를 호출하면 관리 자원과 기본 자원을 모두 정리해야합니다. stman User.cs 10
참조 : CA1063 : IDisposable을 올바르게 구현
이 페이지를 읽었지만 여기에서 수행해야 할 작업을 실제로 이해하지 못합니다.
누군가가 더 많은 라멘 용어로 문제가 무엇인지 또는 IDisposable을 어떻게 구현해야하는지 설명 할 수 있다면 정말 도움이 될 것입니다!
IDispoable
당신이 (포장하는 관리되지 않는 리소스를 포함 (처분하는 관리되지 않는 리소스가있는 경우 SqlConnection
, FileStream
당신은하지 않으며, 등). 안 구현 IDisposable
에만 자원을 관리 한 경우 등 여기로합니다.이 IMO입니다, 코드 분석의 주요 문제점 : 어리석은 규칙을 검사하는 데는 좋지만 개념적 오류를 검사하는 데는 좋지 않습니다
Dispose
있습니까?