Ich habe zwei Funktionen geschrieben, die ähnlich aussehen, wie kann ich sie optimieren?Wie vermeidet man den folgenden wiederholten Code?
Hinweis:
1. AsyncCompletedEventArgs
ist die Basisklasse von DownloadStringCompletedEventArg
und UploadStringCompletedEventArgs
.
2. Result
Eigentum ist nicht in der AsyncCompletedEventArgs
.
3. DownloadStringCompletedEventArgs
eine Error
Eigenschaft hat, wenn Error
null
ist, dann versuchen Result
Eigenschaft zuzugreifen, tritt die Ausnahme.
void fun1(DownloadStringCompletedEventArgs e)
{
try
{
string s = e.Result;
}
catch (WebException eX)
{
HandleWebException();
}
}
void fun2(UploadStringCompletedEventArgs e)
{
try
{
string s = e.Result;
}
catch (WebException eX)
{
HandleWebException();
}
}
Warum haben Sie versuchen..Catch um eine einfache Zuordnung? –
Ihr Code macht überhaupt keinen Sinn: (1) Sie sind um einen Wert zu einem nicht verwendeten lokalen Variablen zugewiesen wird (2) Sie versuchen catch-Block um eine Aussage, die werfen (mit Ausnahme der Implementierung von 'e.Result' nicht doesn ‚t die Konvention entspricht nicht von Immobilien Getter werfen ... –
so sind wir sicher zu sagen, dass diese Handler sind transparent diejenigen, und Sie können die ganze Frage optimieren, indem keinen Code zu schreiben. –