# TargetType<T> constructor

const TargetType<T>([

1. String? packageName

])

TargetType Annotation

A reflectable annotation used to declare and resolve a target class type, optionally constrained by a package name.

# Purpose

- Acts as a metadata marker on pods, fields, or parameters to indicate a specific type target.
- Useful for frameworks that need to resolve generic or inferred types at runtime (e.g., injection points).

# Behavior

- Stores an optional packageName.
- Provides a get method that constructs a Class<T> reference.
  - If packageName is specified, the class is resolved within that package.
  - Otherwise, a generic Class<T> reference is created.

# Example

    @TargetType("package:example/test.dart.services")
    final TargetType<Service> serviceType = TargetType();

    final clazz = serviceType.get();
    print(clazz.getQualifiedName()); // package:example/test.dart.services.Service

# Notes

- The annotation type is self-describing via annotationType.
- Works in tandem with reflective class loaders to identify targets.

## Implementation

    const TargetType([this.packageName]);