オブジェクトのリストから最大オブジェクトを見つけるために linq を実行するだけで、それを var から object に戻します。それはどのように行われますか。
List < MyObject> lt = matchings.ToList();
var wwe = lt.Max(ya => ya.Similarity);
var itemsMax = lt.Where(xa => xa.Similarity == wwe);
MyObject sm =(TemplateMatch) itemsMax;//it gives error here