Conversion automatique de type en C #

Je sais que vous pourriez remplacer un objet de la Méthode ToString (), de sorte que chaque fois que vous appelez un objet ou de le transmettre à une fonction qui requiert un type de Chaîne sera convertie en une Chaîne de caractères.

J'ai écrit plusieurs méthodes d'extension pour le type d'objet "objet"

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

de sorte que je pouvais l'appeler comme ceci:

eventObject.Cost = row["cost"].ToString();
eventObject.EventId = row["event_id"].ToLong();

Cependant, ce que je veux accomplir est de convertir les objets row qui est de type "objet" de son type correct basé sur les types de propriété sur mon eventObject'. Donc, je pourrais l'appeler comme ceci:

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

La ligne est un DataRow si ce qui compte.

source d'informationauteur Aivan Monceller