当我将泛型类型传递给 IEnumerable 时出现错误

问题描述 投票:0回答:0

这对已知类型工作正常:

var jsonData = JsonConvert.DeserializeObject<IEnumerable<ModelName>>(smalljson);

但是当我使模型通用时出现此错误:

类型“T”必须是引用类型才能将其用作泛型类型或方法“DataOperationsCatalog.LoadFromEnumerable”中的参数“TRow”

代码:

var jsonData = JsonConvert.DeserializeObject<IEnumerable<T>>(smalljson);

IDataView dataView = context.Data.LoadFromEnumerable(jsonData);
double perc = trainPercentage / 100.0;

DataOperationsCatalog.TrainTestData dataSplit = context.Data.TrainTestSplit(dataView, testFraction: perc);

SplitDatasets splitDatasets;

return splitDatasets = new SplitDatasets()
            {
                TestDataset = JsonConvert.SerializeObject(context.Data.CreateEnumerable<T>(dataSplit.TestSet, reuseRowObject: true)),
                TrainDataset = JsonConvert.SerializeObject(context.Data.CreateEnumerable<T>(dataSplit.TrainSet, reuseRowObject: true))
            };
c# generics ienumerable protobuf-net enumerable
© www.soinside.com 2019 - 2024. All rights reserved.