それは重要ではありませんが、私はそれが私に何を伝えているのか把握しようとしており、正当な警告ですか?誰かが私にこのエラーを簡単に説明できますか? 'CongressDBEntities':使い捨てのフィールドを所有しCA1001 Visual Studio 2012コード分析の警告。どういう意味ですか?
CA1001タイプは、それが 次IDisposableインタータイプのメンバーを作成するため、
は 'MemVoteManager' にIDisposableを実装を使い捨てにする必要があります。 「MemVoteManager」 が以前に出荷された場合、このタイプにIDisposable を実装する新しいメンバを追加することは、既存の コンシューマへの急変と考えられます。
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;
}
警告を繰り返すだけでなく、警告があなたに指示する内容を説明することは難しいでしょう。あなたの型にはオブジェクトが構築され、そのオブジェクトにIDisposableを実装するフィールドがあるので、その型にIDisposableを実装し、そのフィールドにオブジェクトを配置する必要があります。それは基本的に警告が言うものです。あなたのタイプを使用している既存のコードは、 'Dispose'を念頭に置いて作成されていないため、その変更が急激に変化するということです。 –