C# 删除收集对象的CA2000警告
在我的代码中,我有不同的收集对象 在VS2000中运行代码分析后,我收到CA2000警告 我试图通过使用临时对象来使用microsoft方式。 我也不能用C# 删除收集对象的CA2000警告,c#,asp.net,C#,Asp.net,在我的代码中,我有不同的收集对象 在VS2000中运行代码分析后,我收到CA2000警告 我试图通过使用临时对象来使用microsoft方式。 我也不能用 public static MetadataEntity GetStepMetadata(StepEntity stepEntity, string code) { StepMetadataCollection values = null; StepMetadataCollection tempval
public static MetadataEntity GetStepMetadata(StepEntity stepEntity, string code)
{
StepMetadataCollection values = null;
StepMetadataCollection tempvalues = null;
try
{
values = new StepMetadataCollection();
IPredicateExpression selectFilter = new PredicateExpression(StepMetadataFields.WfStepId == stepEntity.Id & StepMetadataFields.Code == code);
values.GetMulti(selectFilter);
tempvalues = values;
values = null;
}
finally
{
if (values != null) {
values.Dispose();
}
}
return tempvalues;
}
我尝试了这个,但它仍然给我相同的警告CA2000,看起来您遵循了这个模式(除了您交换了temp和非temp变量名)。您确定它在抱怨
StepMetadataCollection
?是否PredicateExpression
可能IDisposable
?它用于StepMetadataCollection CA2000警告:在对象“值”的所有引用超出范围之前调用System.IDisposable.Dispose。