public static void SetWithNonePublicSetter<TTarget, TPropertyType>(this TTarget target,
Expression<Func<TTarget, TPropertyType>> property,
TPropertyType value)
{
PropertyInfo propertyInfo = GetPropertyInfo(property);
propertyInfo.SetValue(target, value);
}