将字符串解析为从参数中获取的类型的最佳方法是什么?
我目前正在使用以下函数解析 XML 节点,但希望使其具有通用性。
    private void ParseSettings(XmlDocument doc)
    {
        IsFormVisible = (bool) ParseNode(doc, "Settings/IsFormVisible", IsFormVisible);
        UpdaterRunInterval = (int) ParseNode(doc, "Settings/UpdaterRunInterval", UpdaterRunInterval);
        UpdaterLastRunTime = (DateTime) ParseNode(doc, "Settings/UpdaterLastRunTime", UpdaterLastRunTime);
    }
    private object ParseNode(XmlDocument doc, string node, object defaultValue)
    {
        try
        {
            XmlNode xmlNode = doc.SelectSingleNode(node);
            if (xmlNode == null)
                return defaultValue;
            string text = xmlNode.InnerText;
            if (defaultValue is int)
                return int.Parse(text);
            if (defaultValue is bool)
                return bool.Parse(text);
            if (defaultValue is string)
                return text;
            if (defaultValue is DateTime)
                return DateTime.Parse(text);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        return defaultValue;
    }