c# - Remove key value pairs -


i have class library developed , in following code has been written,

public static persistencemanager instance         {                         {                 if (_instance == null)                 {                     _instance = new persistencemanager();                 }                  return _instance;             }         } 

where persistencemanager class. have wpf application in calling dll , before showing login page there code written below,

if (string.isnullorwhitespace(persistencemanager.instance["user"]))             {                 startupuri = new uri("login.xaml", urikind.relative);             }             else             {                 startupuri = new uri("messenger.xaml", urikind.relative);             } 

i have registered shows messanger window. want clear keyvalue of user can show login page. unable perform below code ,

persistencemanager.instance["user"] = string.empty;

an unhandled exception of type 'system.argumentexception' occurred

any suggesions?

index-operator looks like:

  public string this[string key]  {           {          try          {              return _settingsdictionary[key].decrypt(enckey);          }          catch (exception)          {              return string.empty;          }      }      set      {          if(!string.isnullorwhitespace(key))              _settingsdictionary[key] = value.encrypt(enckey);      }  } 

rewrite index operator following:

    public string this[string key]     {                 {              string value;             _settingsdictionary.trygetvalue(key, out value);             if (string.isnullorempty(value)) return string.empty;             return value.decrypt(enckey);         }         set         {             if (string.isnullorempty(value)) _settingsdictionary.remove(key);             else _settingsdictionary[key] = value.encrypt(enckey);         }     } 

Comments