Class XFactory
Factory class for generating objects from XML elements using registered generator functions.
public class XFactory
- Inheritance
-
XFactory
- Inherited Members
- Extension Methods
Remarks
Generator functions must be added to Regs to enable the factory to create objects from XML.
Constructors
XFactory()
Initializes a new instance of the XFactory class.
public XFactory()
Fields
Default
Gets the global default instance of XFactory.
public static XFactory Default
Field Value
Properties
Regs
Gets or sets the dictionary mapping XML element names to generator functions with relative file path.
public Dictionary<string, XFactory.GenByXElementDelegate> Regs { get; set; }
Property Value
Methods
GenByChild<T>(XElement, string, SetFileDelegate, GenMode, params object[])
Generates an object of type T from a child element of the provided XML element.
public T GenByChild<T>(XElement src, string baseDirectory, SetFileDelegate setFileAction, GenMode genMode, params object[] res) where T : class
Parameters
srcXElementThe parent XML element containing the child to process
baseDirectorystringThe base directory for resolving paths
setFileActionSetFileDelegateAction to execute when setting the file path
genModeGenModeThe generation mode to use
resobject[]Additional parameters for generation
Returns
- T
The generated object of type T, or null if generation fails
Type Parameters
TThe type of object to generate
GenByFile<T>(string, string, GenMode, params object[])
Generates an object of type T from an XML file.
public T GenByFile<T>(string baseDirectory, string relFile, GenMode genMode, params object[] res) where T : class
Parameters
baseDirectorystringThe base directory for resolving paths
relFilestringThe relative file path to the XML file
genModeGenModeThe generation mode to use
resobject[]Additional parameters for generation
Returns
- T
The generated object of type T, or null if generation fails
Type Parameters
TThe type of object to generate
GenXmlFileSourceByChild<T>(XElement, string, GenMode, params object[])
Generates an XML source and file object of type T from the first child element of the provided XML element.
public XmlSourceAndFile<T> GenXmlFileSourceByChild<T>(XElement src, string baseDirectory, GenMode genMode, params object[] res) where T : class, IMakeXmlSource
Parameters
srcXElementThe parent XML element containing the child to process
baseDirectorystringThe base directory for resolving paths
genModeGenModeThe generation mode to use
resobject[]Additional parameters for generation
Returns
- XmlSourceAndFile<T>
An XmlSourceAndFile object containing the generated object and its file path
Type Parameters
TThe type of object to generate, must implement IMakeXmlSource
GenXmlFileSourceByFile<T>(string, string, GenMode, params object[])
Generates an XML source and file object of type T from an XML file.
public XmlSourceAndFile<T> GenXmlFileSourceByFile<T>(string baseDirectory, string relFile, GenMode genMode, params object[] res) where T : class, IMakeXmlSource
Parameters
baseDirectorystringThe base directory for resolving paths
relFilestringThe relative file path to the XML file
genModeGenModeThe generation mode to use
resobject[]Additional parameters for generation
Returns
- XmlSourceAndFile<T>
An XmlSourceAndFile object containing the generated object and its file path
Type Parameters
TThe type of object to generate, must implement IMakeXmlSource
GenXmlSourceAndFile<T>(XElement, string, SetFileDelegate, GenMode, params object[])
Generates an XML source and file object of type T from an XML element.
public XmlSourceAndFile<T> GenXmlSourceAndFile<T>(XElement src, string baseDirectory, SetFileDelegate setFileAction, GenMode genMode, params object[] res) where T : class, IMakeXmlSource
Parameters
srcXElementThe source XML element
baseDirectorystringThe base directory for resolving paths
setFileActionSetFileDelegateAction to execute when setting the file path
genModeGenModeThe generation mode to use
resobject[]Additional parameters for generation
Returns
- XmlSourceAndFile<T>
An XmlSourceAndFile object containing the generated object and its file path
Type Parameters
TThe type of object to generate, must implement IMakeXmlSource
Gen<T>(XElement, string, SetFileDelegate, GenMode, params object[])
Generates an object of type T from an XML element with specified generation mode.
public T Gen<T>(XElement src, string baseDirectory, SetFileDelegate setFileAction, GenMode mode, params object[] res) where T : class
Parameters
srcXElementThe source XML element
baseDirectorystringThe base directory for resolving paths
setFileActionSetFileDelegateAction to execute when setting the file path
modeGenModeThe generation mode to use
resobject[]Additional parameters for generation
Returns
- T
The generated object of type T, or null if generation fails
Type Parameters
TThe type of object to generate