C# 如何初始化对象属性
我创建了一个函数,它接受类型为的对象(例如:MyEntity),并且我必须初始化MyEntity的所有属性。这是我带来的代码,但被卡住了。不知道如何初始化属性 先谢谢你C# 如何初始化对象属性,c#,lambda,reflection,C#,Lambda,Reflection,我创建了一个函数,它接受类型为的对象(例如:MyEntity),并且我必须初始化MyEntity的所有属性。这是我带来的代码,但被卡住了。不知道如何初始化属性 先谢谢你 public void InitializeViewModel(MyEntity entity) { Type objectType = entity.GetType(); var properties = entity.GetType().GetProperties()
public void InitializeViewModel(MyEntity entity)
{
Type objectType = entity.GetType();
var properties = entity.GetType().GetProperties()
.Where(p=>p.PropertyType.IsClass
&& !p.PropertyType.FullName.StartsWith("System."));
foreach (PropertyInfo propertyInfo in properties)
{
var instance = Activator.CreateInstance(propertyInfo.PropertyType);
}
}
@damonshahi在这里看看如何接受答案:
void InitializeViewModel(MyEntity entity)
{
Type objectType = entity.GetType();
var properties =
entity.GetType().GetProperties().Where(p => p.PropertyType.IsClass
&& !p.PropertyType.FullName.StartsWith("System."));
foreach (PropertyInfo propertyInfo in properties)
{
var instance = Activator.CreateInstance(propertyInfo.PropertyType);
objectType.GetProperty(propertyInfo.Name).SetValue(entity, instance);
}
}