C# 如何初始化对象属性

C# 如何初始化对象属性,c#,lambda,reflection,C#,Lambda,Reflection,我创建了一个函数,它接受类型为的对象(例如:MyEntity),并且我必须初始化MyEntity的所有属性。这是我带来的代码,但被卡住了。不知道如何初始化属性 先谢谢你 public void InitializeViewModel(MyEntity entity) { Type objectType = entity.GetType(); var properties = entity.GetType().GetProperties()

我创建了一个函数,它接受类型为的对象(例如:MyEntity),并且我必须初始化MyEntity的所有属性。这是我带来的代码,但被卡住了。不知道如何初始化属性

先谢谢你

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);
    }
}