Click or drag to resize

GenericFeatureConfiguration Class

A generic feature configuration structure which can be used when a feature wants to re-organize the manner in which it displays the inputs for the configuration
Inheritance Hierarchy
SystemObject
  SanteDB.Core.Configuration.FeaturesGenericFeatureConfiguration

Namespace:  SanteDB.Core.Configuration.Features
Assembly:  SanteDB.Core.Api (in SanteDB.Core.Api.dll) Version: 2.2.1
Syntax
public class GenericFeatureConfiguration

The GenericFeatureConfiguration type exposes the following members.

Constructors
  NameDescription
Public methodGenericFeatureConfiguration
Generic feature configuration
Top
Properties
  NameDescription
Public propertyCategories
Represents the setting groupings or categories in the configuration object.
Public propertyOptions
Gets the configuration options for this generic setting
Public propertyValues
Gets the current set configuration values as they are in the configuration file
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Extension Methods
  NameDescription
Public Extension MethodConvertTReturn
The purpose of this method is to convert object me to TReturn. Why? Because if you have an instance of Act that actually needs to be a SubstanceAdministration we can't just cast so we have to copy.
(Defined by ExtensionMethods.)
Public Extension MethodGetInstanceOfTDomain
Gets an instance of TDomain from me
(Defined by ModelExtensions.)
Top
Remarks
This class is used as the Configuration property value for features which either have combination configuration (i.e. the feature needs to configure many sections and cannot simply expose them all into a single property grid), or when the feature controls multiple services.
Examples
Expose two Configuration Sections
public FeatureInstallState QueryState(SanteDBConfiguration configuration) {
     var genericFeature = new GenericFeatureConfiguration();
     genericFeature.Categories.Add("settings", new string[] { "SettingA", "SettingB" });
     genericFeature.Values.Add("SettingA", configuration.GetSection<SectionA>());
     genericFeature.Values.Add("SettingB", confguration.GetSection<SectionB>());
     genericFeature.Options.Add("SettingA", () => ConfigurationOptionType.Object);
     genericFeature.Options.Add("SettingB", () => ConfigurationOptionType.Object);
     genericFeature.Options.Add("Use Which?", () => new string[] { "Setting A", "Setting B" });
     genericFeature.Values.Add("Use Which?", configuration.GetSection<SettingA>()?.Enabled = "Setting A" : "Setting B");

}
See Also