In reply to soloist_huaxin:
Again and again: it is not recommended to use field macros for several reason. In some cases you might run into serious trouble!
But your problem is different. All classes you are using for constructing your testbench and your sequences/ sequence items you have to register with the factory. You are doing this by using
`uvm_object_utils().
Your problem is caused by your base class, which is not registered with the factory.