Es ist nicht so wichtig, aber ich versuche herauszufinden, was es mir sagt, und ist es eine legitime Warnung? Kann mir jemand diesen Fehler in einfachen Worten erklären?CA1001 Visual Studio 2012 Code Analyse Warnung. Was heißt das?
CA1001 Typen, die Wegwerf-Felder besitzen sollte
implementieren IDisposable auf 'MemVoteManager' Einweg sein, weil sie Mitglieder der folgenden IDisposable Typen erstellt: 'CongressDBEntities'. Wenn 'MemVoteManager' zuvor versandt wurde, wird das Hinzufügen neuer Mitglieder, die IDisposable zu diesem Typ implementieren, als eine Änderung der bestehenden Verbraucher angesehen.
public class MemVoteManager : AbstractDataManager, IMemVoteManager
{
private CongressDBEntities context = new CongressDBEntities();
public int AddMemVote(tMemVoteScore mvs)
{
//Insert Model
context.tMemVoteScores.Add(mvs);
context.SaveChanges();
int newPK = mvs.MemVoteScoresID;
//Update funky column ID with PK as well
var memVoteItem = (from m in context.tMemVoteScores
where m.MemVoteScoresID == newPK
select m).SingleOrDefault();
memVoteItem.ID = memVoteItem.MemVoteScoresID;
context.SaveChanges();
return newPK;
}
Es wird schwierig zu erklären, was diese Warnung Ihnen sagt, ohne dass Sie nur die Warnung wiederholen müssen. Da Ihr Typ ein Feld hat, in dem er ein Objekt erstellt und speichert, in dem das Objekt IDisposable implementiert, sollten Sie IDisposable auch für Ihren Typ implementieren, indem Sie das Objekt in diesem Feld entsorgen. Das ist im Grunde, was die Warnung sagt. Der Bruchteil der Änderung besteht darin, dass jeder existierende Code, der Ihren Typ verwendet, nicht mit "Dispose" erstellt wurde und somit eine brechende Änderung ist. –