Error processing SSI file
Leadtools.Dicom.Common

Show in webframe

MacroProcessor<T> Class






Members 
Type of data passed to the macro substitution delegates.
Manages the processing of macros.
Object Model
Syntax
public class MacroProcessor<T> 
'Declaration
 
Public Class MacroProcessor(Of T) 
'Usage
 
Dim instance As MacroProcessor(Of T)
generic<typename T>
public ref class MacroProcessor 
Type Parameters
T
Type of data passed to the macro substitution delegates.
Remarks
Macros are defined as ${macro_name} in strings. This class looks for those tokens and calls the appropriate registered delegate to return a string. The MacroProcessor class has the following default macros when created:
Value Meaning
date Current date.
random_string Random string of specified link.
random_date Random date in the specified min/max date range.
empty Empty string.
random_time Random time offset from the specified time.
replace(value) Releases the tag with the specified value.
Example

This example adds two macros to the macro processor and process a string.

Copy Code  
Imports Leadtools.Dicom.Common.Anonymization

<TestMethod()> _
Public Sub MacroProcessorSample()
   Dim processor As New MacroProcessor(Of Object)()
   '
   ' add two macros to the macro processor
   '
   processor.Macros.Add("current_date", New MacroSubsitutionDelegate(Of Object)(AddressOf CurrentDateMacro))
   processor.Macros.Add("current_time", New MacroSubsitutionDelegate(Of Object)(AddressOf CurrentTimeMacro))

   '
   ' Process a macro string
   '
   Console.WriteLine(processor.Process(processor, "${current_date} ==> ${current_time}"))
End Sub

Private Function CurrentDateMacro(ByVal userData As Object, ByVal name As String, ByVal ParamArray parameters As Object()) As String
   Return DateTime.Now.ToShortDateString()
End Function

Private Function CurrentTimeMacro(ByVal userData As Object, ByVal name As String, ByVal ParamArray parameters As Object()) As String
   Return DateTime.Now.ToShortTimeString()
End Function
using Leadtools.Dicom.Common.Anonymization;

[TestMethod]
public void MacroProcessorSample()
{
   MacroProcessor<object> processor = new MacroProcessor<object>();
   //
   // add two macros to the macro processor
   //

   processor.Macros.Add("current_date", new MacroSubsitutionDelegate<object>(CurrentDateMacro));
   processor.Macros.Add("current_time", new MacroSubsitutionDelegate<object>(CurrentTimeMacro));

   //
   // Process a macro string
   //

   Console.WriteLine(processor.Process(processor, "${current_date} ==> ${current_time}"));
}

private string CurrentDateMacro(object userData, string name, params object[] parameters)
{
   return DateTime.Now.ToShortDateString();
}

private string CurrentTimeMacro(object userData, string name, params object[] parameters)
{
   return DateTime.Now.ToShortTimeString();
}
Requirements

Target Platforms

See Also

Reference

MacroProcessor<T> Members
Leadtools.Dicom.Common.Anonymization Namespace

Error processing SSI file
   Leadtools.Dicom.Common requires a Medical toolkit license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features