Я думаю, что можно использовать FastFormat, как
std::string result;
fastformat::fmt(result, "Hi there {0}. You are {1} years old. How does it feel to be {1}?", name, age);
, который является почти идентичным синтаксисом.
dynamic data = List<x> val;
List<y> val2 = ((IEnumerable)data).Cast<y>().ToList();