Я пытаюсь добиться чего-то вроде этого в C#:Настройка свойств на классе во время выполнения
public class GenericModel
{
public SetPropertiesFromDataRow(DataColumnCollection columns, DataRow row)
{
foreach(DataColumn column in columns)
{
this.SetProperty(column.ColumnName, row[column.ColumnName]);
}
}
}
DataTable students = ReadStudentsFromDatabase(); // This reads all the students from the database and returns a DataTable
var firstStudent = new GenericModel();
firstStudent.SetPropertiesFromDataRow(students.Columns, students.Rows[0]);
Возможно ли это сделать в C# (так как это статический язык)?
(Обратите внимание, что этот пример является чем-то вроде psudocode.)
вы могли бы быть лучше получить ОРМ как EntityFramework или NHibernate, это делает всю тяжелую работу по выяснению, как делать подобные вещи с базами данных для вас. –
Возможно, посмотрите здесь: http://stackoverflow.com/questions/619767/set-object-property-using-reflection – ZivS
@ScottChamberlain К сожалению, я не могу, из-за структуры проекта. Я работаю над старым проектом, и я не могу использовать новый ORM. –