Очевидно, что CodeDom не может сгенерировать правильный код для первого параметра метода расширения, но вы можете обмануть его следующим образом:
var param = new CodeParameterDeclarationExpression("this string", "s");
Он будет блаженно игнорировать тот факт, что «эта строка» не является допустимым типом ...