Class ParameterSet
The default implementation for a IParameterSet. It uses reflection as a last line of defense.
Inheritance
Implements
Inherited Members
Namespace: SpiceSharp.ParameterSets
Assembly: SpiceSharp.dll
Syntax
public abstract class ParameterSet : IParameterSet
Remarks
This class will use the IExportPropertySet<P> or IImportParameterSet<P> if they are defined on the class to avoid reflection. If it isn't defined, it will fall back to reflection.
Methods
CreateParameterSetter<P>(string)
Creates an action that can set the parameter of the specified type and with the specified name.
Declaration
public virtual 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 virtual 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 |
GetProperty<P>(string)
Gets the value of a property of the specified type and with the specified name.
Declaration
public virtual 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 virtual 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. |
TryGetProperty<P>(string, out P)
Tries to get the value of a property of the specified type and with the specified name.
Declaration
public virtual 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 virtual 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 |