здесь исключение:
x.GetValue(a, null)
просто измените a
на content
вот так:
var pairs = props.Select(x => x.Name + "=" + x.GetValue(content, null)).ToArray();
содержимое это имя вашего анонимного объекта.
Но это решение, которое вы написали, не возвращает словарь. если вы хотите, чтобы словарь делал это :
public static Dictionary<string, string> convert(object content)
{
var props = content.GetType().GetProperties();
var pairDictionary = props.ToDictionary(x => x.Name,x=>x.GetValue(content,null)?.ToString());
return pairDictionary;
}