Casablanca: Typumwandlung

Beitrag lesen

Hallo Fortum,

ich habe in einer generischen Methode diese Programmzeile:

  
  var myArray = dateList.ToList().ConvertAll(d => Convert.ToDateTime(d));  

Nun muss eine Fallunterscheidung gemacht werden:

  
   if(bedingung = 1)  
      myArray = dateList.ToList().ConvertAll(d => Convert.ToString(d));  
   if(bedingung = 2)  
      myArray = dateList.ToList().ConvertAll(d => Convert.ToDateTime(d));  

Dies bedutet, dass die Variable "myArray" außerhalb der if-Abrage deklariert werden muss. Es könnte so sein:

  
   IEnumerable<DateTime> myArray = null;  

Da aber die dataList in verschiedenen Typen convertiert werden kann (hier z.B. DateTime oder String) sollte eingentlich sowas hin:

  
   IEnumerable<typeOf<T>> myArray = ...  

Das kann aber so nicht klappen. Hat jemand eine Idee, wie soetwas gehandhabt wird?

Gruß