The type '%3!ls!' must be a reference type in order to use it as parameter '%2!ls!' in the generic type or method '%1!ls!' ...