Rzutowanie "Convert.ChangeType" w RunTime

0

Siemka. Mam mały problem z rzutowaniem w runtime z string na IPAddress
Exeption to:"Invalid cast from 'System.String' to 'System.Net.IPAddress'."
Oto urywek kodu:

 foreach (KeyValuePair<string, object> Item in SettingObjectList)
                {
                    foreach (PropertyInfo ItemProperty in Item.Value.GetType().GetProperties())
                    {
                        ItemProperty.SetValue(Item.Value, Convert.ChangeType(IniReader.ReadSetting(ItemProperty.Name, Item.Key + ".ini", ""), ItemProperty.PropertyType));
                    }
                }
0

NIe da się zrzutować stringa na adres IP. Użyj IPAddress.Parse() aby przerobić string na obiekt IPAddress.
http://msdn.microsoft.com/en-us/library/system.net.ipaddress.parse%28v=vs.110%29.aspx

0

Już zrobiłem prymitywny konwenter

 public static dynamic ConverterType(dynamic Value, Type TypeNeed)
       {
           Type ValueType = Value.GetType();
           if(TypeNeed.Name.Equals("IPAddress") && ValueType.Name.Equals("String"))
           {
               return IPAddress.Parse(Value);
           }
           if (TypeNeed.Name.Equals("Boolean") && ValueType.Name.Equals("String"))
           {
               return bool.Parse(Value);
           }
           if (TypeNeed.Name.Equals("Int32") && ValueType.Name.Equals("String"))
           {
               return Int32.Parse(Value);
           }
           if (TypeNeed.Name.Equals("String") && ValueType.Name.Equals("String"))
           {
               return Value;
           }
           return Value;
       } 

1 użytkowników online, w tym zalogowanych: 0, gości: 1