Я знаю, что вы можете переопределить метод Object ToString(), чтобы каждый раз, когда вы вызывали объект или передавали его функции, которая требует типа String, она будет преобразована в строку.
Я написал несколько методов расширения для типа объекта "объект"
public static DateTime ToDate(this object date)
{
return DateTime.Parse(date.ToString());
}
public static int ToInteger(this object num)
{
return Int32.Parse(num.ToString());
}
public static long ToLong(this object num)
{
return Int64.Parse(num.ToString());
}
чтобы я мог просто называть их следующим образом:
eventObject.Cost = row["cost"].ToString();
eventObject.EventId = row["event_id"].ToLong();
Однако, что я хочу сделать, это преобразовать объекты строк, которые имеют тип "объект", в его правильный тип, основанный на типах свойств в моем "eventObject". Поэтому я мог бы назвать это следующим образом:
eventObject.Cost = row["cost"];
eventObject.EventId = row["event_id"];
Строка - это DataRow, если это имеет значение.