If you have code which doesn't have access to the property (outside of your Effect class), then just pass it a delegate which it can poll.
void OnSetRenderInfo(...)
{
...
for (y = ...)
{
if (IsCancelRequested) return;
HelperClass.ComputeSomethingExpensiveOmg(y, ..., () => IsCancelRequested);
}
}
...
class HelperClass
{
bool ComputeSomethingExpensiveOmg(int y, ..., Func cancelPollFn)
{
...
if (cancelPollFn()) return false;
...
return true;
}
}
This is what Auto-Levels does, for instance.