Class BehaviorContainer
A dictionary of Behavior. Only on instance of each type is allowed.
Implements
Inherited Members
Namespace: SpiceSharp.Behaviors
Assembly: SpiceSharp.dll
Syntax
public class BehaviorContainer : InterfaceTypeSet<IBehavior>, IBehaviorContainer, ITypeSet<IBehavior>, ICollection<IBehavior>, IEnumerable<IBehavior>, IEnumerable, IParameterSetCollection, IParameterSet
Constructors
BehaviorContainer(string)
Initializes a new instance of the BehaviorContainer class.
Declaration
public BehaviorContainer(string source)
Parameters
Type | Name | Description |
---|---|---|
string | source | The entity name that will provide the behaviors. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
Properties
Name
Gets the name.
Declaration
public string Name { get; }
Property Value
Type | Description |
---|---|
string | The name of the behavior container. |
Remarks
This is typically the name of the entity that creates the behaviors in this container.
ParameterSets
Gets all the parameter sets of this instance.
Declaration
public IEnumerable<IParameterSet> ParameterSets { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IParameterSet> | The parameter sets. |
Methods
Build<TContext>(ISimulation, TContext)
Declaration
public IBehaviorContainerBuilder<TContext> Build<TContext>(ISimulation simulation, TContext context) where TContext : IBindingContext
Parameters
Type | Name | Description |
---|---|---|
ISimulation | simulation | |
TContext | context |
Returns
Type | Description |
---|---|
IBehaviorContainerBuilder<TContext> |
Type Parameters
Name | Description |
---|---|
TContext |
CreateParameterSetter<P>(string)
Creates an action that can set the parameter of the specified type and with the specified name.
Declaration
public Action<P> CreateParameterSetter<P>(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the parameter. |
Returns
Type | Description |
---|---|
Action<P> | An action that can set the parameter value, or |
Type Parameters
Name | Description |
---|---|
P | The parameter value type. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
CreatePropertyGetter<P>(string)
Creates a function that can get the value of a property of the specified type and with the specified name.
Declaration
public Func<P> CreatePropertyGetter<P>(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the property. |
Returns
Type | Description |
---|---|
Func<P> | A function that can get the property value, or |
Type Parameters
Name | Description |
---|---|
P | The property value type. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
GetParameterSet<P>()
Gets the parameter set of the specified type.
Declaration
public P GetParameterSet<P>() where P : IParameterSet, ICloneable<P>
Returns
Type | Description |
---|---|
P | The parameter set. |
Type Parameters
Name | Description |
---|---|
P | The parameter set type. |
Exceptions
Type | Condition |
---|---|
TypeNotFoundException | Thrown if the parameter set could not be found. |
GetProperty<P>(string)
Gets the value of a property of the specified type and with the specified name.
Declaration
public P GetProperty<P>(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the property. |
Returns
Type | Description |
---|---|
P | The value of the property. |
Type Parameters
Name | Description |
---|---|
P | The property value type. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
ParameterNotFoundException | Thrown if a parameter by the specified name could not be found. |
SetParameter<P>(string, P)
Sets a parameter in the parameter set of the specified type and with the specified name.
Declaration
public void SetParameter<P>(string name, P value)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the parameter. |
P | value | The value that the parameter should be set to. |
Type Parameters
Name | Description |
---|---|
P | The parameter value type. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
ParameterNotFoundException | Thrown if a parameter by the specified name could not be found. |
TryGetParameterSet<P>(out P)
Tries to get the parameter set of the specified type.
Declaration
public bool TryGetParameterSet<P>(out P value) where P : IParameterSet, ICloneable<P>
Parameters
Type | Name | Description |
---|---|---|
P | value | The parameter set. |
Returns
Type | Description |
---|---|
bool |
|
Type Parameters
Name | Description |
---|---|
P | The parameter set type. |
TryGetProperty<P>(string, out P)
Tries to get the value of a property of the specified type and with the specified name.
Declaration
public bool TryGetProperty<P>(string name, out P value)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the property. |
P | value | The value of the property if the property was found. |
Returns
Type | Description |
---|---|
bool |
|
Type Parameters
Name | Description |
---|---|
P | The property value type. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
TrySetParameter<P>(string, P)
Tries to set a parameter in the parameter set of the specified type and with the specified name.
Declaration
public bool TrySetParameter<P>(string name, P value)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the parameter. |
P | value | The value that the parameter should be set to. |
Returns
Type | Description |
---|---|
bool |
|
Type Parameters
Name | Description |
---|---|
P | The parameter value type. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |