Hello everyone,

I am migrated from C++ to C#. I am reading through about C++ template class and C# generics' differences,


3 questions,


"At the implementation level, the primary difference is that C# generic type substitutions are performed at runtime and generic type information is thereby preserved for instantiated objects."

"preserved for instantiated objects" means?


"In C#, a generic type parameter cannot itself be a generic, although constructed types can be used as generics. C++ does allow template parameters."

"constructed types" means?


What means "C# disallows this; the only language constructs allowed are those that can be deduced from the constraints."?

thanks in advance,