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 |