# Sandbox.Doo.TargetComponent

Abstracts a link to a component - which can be
* An actual component
* A GameObject and a component type
* A Variable (GameObject or Component) and a component type

- Kind: class
- Assembly: `Sandbox.Engine`

## Constructors

- [`TargetComponent`](/api/Sandbox.Doo.TargetComponent/.ctor)

## Properties

- [`ComponentType`](/api/Sandbox.Doo.TargetComponent/ComponentType): The type of Component we want to access. This allows us to select members that exist on this type.
- [`ComponentValue`](/api/Sandbox.Doo.TargetComponent/ComponentValue): The Component we want to target directly.
- [`FindMode`](/api/Sandbox.Doo.TargetComponent/FindMode)
- [`GameObjectValue`](/api/Sandbox.Doo.TargetComponent/GameObjectValue): The GameObject that contains the target component.
- [`Type`](/api/Sandbox.Doo.TargetComponent/Type)
- [`VariableName`](/api/Sandbox.Doo.TargetComponent/VariableName): The name of the variable we're going to use. This can be a GameObject or a Component.

## Methods

- [`CollectArguments`](/api/Sandbox.Doo.TargetComponent/CollectArguments)
- [`GetComponentType`](/api/Sandbox.Doo.TargetComponent/GetComponentType)
- [`JsonRead`](/api/Sandbox.Doo.TargetComponent/JsonRead)
- [`JsonWrite`](/api/Sandbox.Doo.TargetComponent/JsonWrite)
