Метод вызова изменился в .NET Standard (начиная с версии 1.6). Также мы можем использовать нулевой условный оператор C # 6.
using System.Reflection;
public static object GetPropValue(object src, string propName)
{
return src.GetType().GetRuntimeProperty(propName)?.GetValue(src);
}