private Func <ReadOnlyMemory <char>, bool> GetGetter(int i, DataViewType dst, object[] args) { switch (dst.GetRawKind()) { case InternalDataKind.BL: return (src => { bool v; bool tmp = Conversions.DefaultInstance.TryParse(in src, out v); args[i] = v; return tmp; }); case InternalDataKind.I4: return (src => { int v; bool tmp = Conversions.DefaultInstance.TryParse(in src, out v); args[i] = v; return tmp; }); case InternalDataKind.I8: return (src => { long v; bool tmp = Conversions.DefaultInstance.TryParse(in src, out v); args[i] = v; return tmp; }); case InternalDataKind.R4: return (src => { float v; bool tmp = Conversions.DefaultInstance.TryParse(in src, out v); args[i] = v; return tmp; }); case InternalDataKind.R8: return (src => { double v; bool tmp = Conversions.DefaultInstance.TryParse(in src, out v); args[i] = v; return tmp; }); case InternalDataKind.TX: return (src => { args[i] = src; return true; }); } Contracts.Assert(false); return(null); }