KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I currently have a Generic method that reads an Value from the database based on a key and returns a specific type of that value. public T Get<T>(string key, T defaultValue) { var myparms = new List<SqlParameter> { new SqlParameter("@KEY", key), }; const string getPropertyQuery = "SELECT SPARM_VALUE FROM SYSPARAMS WHERE SPARM_KEY = @KEY;"; var returnedValue = //Get value from Database if (returnedValue == null) { return defaultValue; //Value does not exists so return default. } return (T)Convert.ChangeType(returnedValue, typeof(T)); } But when I try and return a TimeSpan type I get the following exception. Invalid cast from 'System.String' to 'System.TimeSpan'. After a bit of googling I found that the most common solution is to use the TimeSpan.Parse or TimeSpan.TryParse methods. I also found TimeSpan Structure. public struct TimeSpan : IComparable, IComparable, IEquatable, IFormattable My question is why, why is TimeSpan not able to do this. Is it because it doesn't have the IConvertible interface? Any thoughts on this would be much appreciated.
Tags (comma-separated)
Save Edits
Cancel