Ich habe ein Code-Snippet geschrieben, das ich definitiv fühle es ist nicht ein richtiger Weg geschrieben. Meine Methode muss eine Zeichenfolge basierend auf der Version von Adobe Installed auf meinem Computer zurückgeben.Hilfe benötigt, um das vorhandene Code-Snippet zu verbessern
private string GetRegistryKeyPathForX()
{
string sPath = string.Empty;
RegistryKey adobe = Registry.CurrentUser.OpenSubKey("Software").OpenSubKey("Adobe");
if (adobe != null)
{
RegistryKey acroRead = adobe.OpenSubKey("Adobe Acrobat");
if (acroRead != null)
{
string[] acroReadVersions = acroRead.GetSubKeyNames();
//The following version(s) of Acrobat Reader are installed
foreach (string versionNumber in acroReadVersions)
{
switch(versionNumber)
{
case "6.0": sPath = "Software\\Adobe\\Acrobat Reader";
return sPath; //Improve here
break;
case "7.0":
sPath = "";
return sPath; //Improve here
break;
case "8.0":
sPath = "";
return sPath; //Improve here
break;
case "9.0" :
sPath = "Software\\Adobe\\Acrobat Reader";
return sPath; //Improve here
break;
default: sPath = "ERR_KEY";
break;
}
}
}
}
return sPath;
}
Gibt es eine Möglichkeit, so dass ich die Zeichenfolge in einem Schuss zurückkehren kann, anstatt es in jedem Fall Anweisung zuweisen.?
Danke ... das funktioniert auch, aber ich bin nicht berechtigt, Linq Abfragen zu verwenden :(in 2.0 Framework. –
@ this-Me fair genug, aktualisiert meine Antwort mit "pure 2.0" Code auch. :) –
du bist der Mann !! –