[This is preliminary documentation and is subject to change.]
Initializes an ImplicitComponent to be used inside of a Drive (upon being committed)
Namespace: ClarionAssembly: ClarionLibrary (in ClarionLibrary.dll) Version: 6.1.1.0 (6.1.1.0)
Syntax
C# |
---|
public static T InitializeDriveComponent<T>( Drive destination, IimplicitComponentFactory<T> factory, params Object[] parameters ) where T : ImplicitComponent |
Parameters
- destination
- Type: Clarion.Framework.Templates..::..Drive
The drive in which the component is being attached
- factory
- Type: Clarion.Framework.Templates..::..IimplicitComponentFactory<(Of <(<'T>)>)>
The factory to use to generate the component
- parameters
- Type: array<System..::..Object>[]()[][]
(optional) Any parameters that may be needed by the factory in order to initialize the component.
To find-out the list of required and optional parameters, please consult the documentation of the factory for the component being generated
Type Parameters
- T
- The type of ImplicitComponent that is to be initialized within the drive
Return Value
A component of the type specified initialized within the drive specified
Remarks
The output layer of the ImplicitComponent returned by this method will already be setup for the specified drive. In other words, the "Drive Strength" dimension-value pair associated with this drive will automatically be added to the output layer by this method. Therefore, in order to complete the initialization process, you only need to specify the input layer of the component before committing it to the drive.
![]() |
---|
Don't forget that the component being initialized by this method MUST be committed to the drive in which it was initialized! Failure to do so WILL result in an error! |
Examples

FoodDrive foodDrive = AgentInitializer.InitializeDrive(John, FoodDrive.Factory, .5); BPNetwork comp = AgentInitializer.InitializeDriveComponent(foodDrive, BPNetwork.Factory); //Elided code further initializing the drive and drive component foodDrive.Commit(comp); John.Commit(foodDrive);