Мне нужен способ создания списка объектов, где объект из строки.net Создать список объектов, тип объекта из строки
, например, я хочу ниже, чтобы быть преобразован в список объектов
Dim categoryList as IList(Of "classname") = new List(Of "class name")
конечный результат
Dim categoryList As IList(Of BO.Store.Category) = New List(Of BO.Store.Category)
Благодаря xxbbcc указал мне в правильном направлении. Я придумал решение ниже, которое позволяет загружать любой файл csv и анализировать его в список объектов x.
Это работает, загружая файл с помощью dropzone вместе с именем таблицы, именем класса объекта и именем класса сопоставления. Теперь это позволяет мне анализировать содержимое файла, используя csvhelper, готовый для импорта в временную таблицу.
<AcceptVerbs(HttpVerbs.Post), BaseViewModelFilter>
Function Upload(model As ImportUploadViewModel) As JsonResult
Dim balUpload As BAL.Upload = New BAL.Upload()
Dim balImport As BAL.Import = New BAL.Import()
Dim folder As String = String.Format("{0}tmp\import\category", Server.MapPath("\"))
Dim result = balUpload.SaveFiles(Request, folder, UserProfile.ID)
Dim importClassType = Type.[GetType](String.Format("Roxybox.BO.{0}", model.EntityClass))
Dim importClassMapType = Type.[GetType](String.Format("Roxybox.BO.{0}", model.EntityMap))
Dim records As IList
' Import all successful files
For Each successFile As String In result("success")
' Parse csv file
Using sr = New StreamReader(String.Format("{0}\{1}", folder, successFile))
Dim reader = New CsvReader(sr)
reader.Configuration.RegisterClassMap(importClassMapType)
records = reader.GetRecords(importClassType).ToList()
End Using
For Each category In records
Dim data As BO.Import = New BO.Import()
With data
.EntityModel = model.EntityModel
.Data = JsonConvert.SerializeObject(category)
.UserProfileID = UserProfile.ID
.Filename = successFile
.Status = "pending"
End With
balImport.Save(data, UserProfile.ID)
Next
Next
Return Json(result, JsonRequestBehavior.AllowGet)
End Function
Как использовать его для создания списка объектов? – adamias
@adamias Я добавлю небольшой образец, который показывает его. Можете ли вы читать/переводить C#? (Мой C# лучше, чем мой VB.Net :)) – xxbbcc
Посмотрите http://msdn.microsoft.com/en-us/library/d133hta4(v=vs.110).aspx –