首页 > 解决方案 > How to Initialize object property

问题描述

I create a function which takes object of Type (eg: MyEntity) and i have to initialize all the properties of MyEntity . This is the code i came with but got stuck. dont know how to initialize the property.

thank you in advance.

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

标签: c#lambdareflection

解决方案


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

推荐阅读