When the target macro needs to import a type

In the target macro, if you want to use a transferred variable that belongs to an imported type, then you do not need to import that same type in the target macro. Examples of operations where you do not need to import the type are as follows:
  • Using the transferred variable as the value of an attribute.
  • Calling a method on the transferred variable.
However, in the target macro, if you want to use the name of an imported type, then you must import that type. Examples of operations where you must import the type:
  • Declaring a new variable of the imported type.
  • Creating a new instance of the imported type.
  • Calling a static method of the imported type.