Автоматическое преобразование типа в C #

Я знаю, что вы можете переопределить метод ToString () объекта, чтобы каждый раз, когда вы вызываете объект или передаете его функции, которая требует типа String, он будет преобразован в String.

Я написал несколько методов расширения для типа объекта 'object'

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();

Однако я хочу преобразовать объекты строки, которые имеют тип 'object 'на правильный тип на основе типов свойств в моем' eventObject '. Итак, я мог бы назвать это так:

eventObject.Cost = row["cost"];
eventObject.EventId = row["event_id"];

Строка является DataRow, если это имеет значение.

14
задан Aivan Monceller 22 January 2011 в 07:31
поделиться