This line of code will need to be something like this...
object l_obj = l_objPropertyInfo.GetValue("Name", null);
=>
object l_obj = l_objPropertyInfo.GetValue(this[l_nIndex], null);
The first argument to the GetValue function is the object instance you want to retrieve the value of the property from.