c# object initialization trim all strings code example

Example: trim all string properties c#

//Credit [thrawnis] 
//https://stackoverflow.com/users/1886971/thrawnis 
//https://stackoverflow.com/questions/7726714/trim-all-string-properties
/// <summary>Trim all String properties of the given object</summary>
public static TSelf TrimStringProperties<TSelf>(this TSelf l_Data)
{
  var stringProperties = l_Data.GetType().GetProperties()
    .Where(p => p.PropertyType == typeof(string) && p.CanWrite);

  foreach (var stringProperty in stringProperties)
  {
    string currentValue = (string)stringProperty.GetValue(l_Data, null);
    if (currentValue != null)
      stringProperty.SetValue(l_Data, currentValue.Trim(), null);
  }
  return l_Data;
}
// Test 
// var l_Model = new { RespCode = " 000", RespDesp = "Success! " };
// l_Model = l_Model.TrimStringProperties();
//