Ich stehe da grad etwas aufm Schlauch:
Code:
[...]
SearchResultCollection results = searcher.FindAll();
//dostuff
[...]
results.Dispose();
Um searcher.FindAll(); würde ich gernen nen try catch Block legen, weil da allerhand passieren kann. Ich kriege es aber irgendwie nicht hin, dass ich am Ende noch results.Dispose(); aufrufen kann.
Ist wahrscheinlich ne einfache Sache, aber ich kenne mich in C# noch praktisch gar nicht aus.
Versucht habe ich folgendes:
Code:
try
{
SearchResultCollection results = searcher.FindAll();
//dostuff
[...]
}
catch (
Exception ex) //
{
return ex.Message;
}
finally
{
results.Dispose();
}
Klappt nicht, weil results nur im try-Block selbst gültig ist.
Code:
SearchResultCollection results;
try
{
results = searcher.FindAll();
//dostuff
[...]
}
catch (
Exception ex) //
{
return ex.Message;
}
finally
{
results.Dispose();
}
Da gibt's die Meldung "Verwendung der nicht zugewiesenen Variable 'results' "
Aber wenn ich es noch anders anordne, wird results.Dispose(); bei nem Fehlerfall nicht aufgerufen.
Was übersehe ich da?