I believe this is a limitation of iLogic. The short answer is, those blue parameters won't work anywhere outside of ThisRule, or even in a sub-class of ThisRule. Read on below if you'd like more explanation.
First, I don't think there's usually any reason to explicitly declare the "ThisRule" class. Some of the special iLogic functions and variables are declared in the ThisRule class, so declaring anything outside of it just increase your chances of those iLogic functions not working. I would just avoid declaring ThisRule explicitly, and then all of your functions should have access to all iLogic functionality. That said, there are exceptions, and you've run into one of them.
I said above that all of your functions should have access to all iLogic functionality, and this is true. However, what you're trying to do is have another class access special iLogic functionality (either a child class, if you put it inside of "ThisRule", or a separate class entirely if you put it outside). Some special iLogic functionality is accessible, in a roundabout way, from another class, but the "blue parameter" functionality, I'm fairly certain, is not.
Those blue parameters are a special iLogic thing that don't end up looking anything like what you see in your rule after the iLogic system adds its helper code and re-complies. They're basically a renamed to a different variable that's declared within the ThisRule class. The variable gets written to (with the Parameter's value) when the rule starts, and then gets read from (to store as the Parameter's new value) when the rule is finished.
The problem is, you can't pre-emptively "guess" at what the variable's new name will be and use it elsewhere besides the ThisRule class. Even if you do, the iLogic system will detect this and just name the new variable something else.
So the short answer is, using those blue parameters outside of ThisRule (or in a sub-class of ThisRule) is, unfortunately, not possible.