Class XFactory
Factory class for generating objects from XML elements using registered generator functions.
public static class XFactory
- Inheritance
-
XFactory
- Inherited Members
Remarks
Generator functions must be added to Regs to enable the factory to create objects from XML.
Properties
Regs
Gets or sets the dictionary mapping XML element names to generator functions with relative file path.
public static 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 static 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 static 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 static 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 static 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 static 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 static 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