The '''ReferenceCast''' component can be used to try to take a type and change it to another type. This performs a C# cast which requires the types to be compatible for casting to make a result.
<!--T:2-->
<!--T:2-->
== Fields ==
== Fields ==
{{Table ComponentFields
{{Table ComponentFields
|Source|'''I'''|TypeAdv0=true|
|Source|'''I'''|TypeAdv0=true| The source type to convert
|Target|{{RootFieldType|RefDrive`1|O}}|TypeAdv1=true| The target field. Casts <code>Source</code> to this fields type, and then uses the result to drive this field.
|WriteBack|Bool|
|WriteBack|Bool| whether to allow changes to the <code>Target</code> to update <code>Source</code> instead of discarding the change.
}}
}}
<!--T:3-->
<!--T:3-->
== Usage ==
== Usage ==
This is a way of changing a type without using [[ProtoFlux]]. Attaching this component can be difficult, so you should be familiar with [[Complex Types in Components]]. Keep in mind this does a C# Cast, which does not work with many different conversions.
The ReferenceCast component can be used to try to take a type and change it to another type. This performs a C# cast which requires the types to be compatible for casting to make a result.
whether to allow changes to the Target to update Source instead of discarding the change.
Usage
This is a way of changing a type without using ProtoFlux. Attaching this component can be difficult, so you should be familiar with Complex Types in Components. Keep in mind this does a C# Cast, which does not work with many different conversions.