Illegal assignment to class C:/questasim_10.2c/uvm-1.1d.uvm_pkg::uvm_component from type String

Hello Forum,
Could you please help me in knowing the following concept of UVM:

While creating the new function in transaction class, i am passing the single argument like given below:

function new(string name = "");
  super.new(name);
 endfunction.

The same thing as above i am coding in my sequence. While creating the object of transaction and sequences using

type_id::create()

method, it is working in all the environment except in the test case. I am coding as given below:

seq = my_seq::type_id::create("seq", get_full_name());

The test case is giving the error as given below:

Illegal assignment to class C:/questasim_10.2c/uvm-1.1d.uvm_pkg::uvm_component from type String

Could you please help me in knowing or debugging this.

–Sunil

In reply to sunils:

Hello Chr,

Can i create the object of transaction class and sequences with the single argument only.
That is like this:

tran_obj = tran_class::type_id::create("tran_obj");
seq_obj  = seq_class::type_id::create("seq_obj");

in all the environment.

-Sunils

In reply to sunils:

Yes this is correct.
One question, please: Who is recommending what you did:

seq = my_seq::type_id::create("seq", get_full_name());

or was this your guess only?

If you want to create a uvm_component you need 2 Arguments, this is the Name as for the object and the 2nd one is the reference to itsselfe (this).