IDataTransform CreateMemoryTransformIn <TSrc>() { if (OutputType.IsVector()) { switch (OutputType.AsVector().ItemType().RawKind()) { case DataKind.U4: return(CreateMemoryTransformInOut <TSrc, VBuffer <uint> >()); case DataKind.R4: return(CreateMemoryTransformInOut <TSrc, VBuffer <float> >()); default: throw _host.ExceptNotImpl("Output Type '{0}' is not handled yet.", OutputType.AsVector().ItemType().RawKind()); } } else { switch (OutputType.RawKind()) { case DataKind.U4: return(CreateMemoryTransformInOut <TSrc, uint>()); case DataKind.R4: return(CreateMemoryTransformInOut <TSrc, float>()); default: throw _host.ExceptNotImpl("Output Type '{0}' is not handled yet.", OutputType.RawKind()); } } }