Use ral peek in scoreboard error

Hello everyone, I hope to use the peek method of reg_model to check the value of the dut register in the main_phase of scb, but I encounter an error during compilation.

The error is as follows:

Error-[IOUCM] Illegal use of class method
../env/dt_checker.sv, 188
dt_env_package, "uvm_pkg::uvm_reg::read (this.reg_model.SPT_HEAD_ERR_CNT, \this .status, chk_vlu, UVM_FRONDOOR, /* map = null */ , /* parent = null */ , /* prior = (-1) */ , /* extension = null */ , /* fname = "\000" */ , /* lineno = 0 */);" Class methods can't be used in the current context. Please check LRM for class method usage.

I believe I successfully passed the handle of the register model, as it correctly printed the information when I used the following statement.

`uvm_info(get_type_name(), $sformatf("reg_model name is %0s"), reg_model)

However, when I use the following statement in main_phase, the compiler directly reports an error.

task main_phase(uvm_phase phase);
int chk_vlu;
super.main_phase(phase);
reg_model.SPT_HEAD_ERR_CNT.peek(status, chk_vlu);
endtask

by the way, I was able to successfully implement backdoor access using the same statement in the sequence.
I suspect that it is not possible to directly call an object’s task within a component, and I hope to get answers .