>I create it like this at the moment > >if(some condition) > XLToList(MyClass) xlist = new XLToList(MyClass)(); >else > XLToList(MyOtherClass) xlist2 = new XLToList(MyOtherClass)(); > > >public class XlToList(T) where T : ITariffDataImport, new() > { > public delegate void Notify(object sender, CSVEventargs e); > public delegate void NotifyEveryRecord(int RecordNumber); > public event Notify OnFinishedProcessing; > public event Notify OnFoundBadTariff; > public event Notify OnFoundStartingRow; > public event NotifyEveryRecord OnProcessingRecords; > > > private Type thistype = typeof(T); > > private List(T) data; > > public List(T) Data > { > get > { > return data; > } > set > { > data = value; > } > } >>