코드 조각 : Textmacro - escaco95/Charcoal GitHub Wiki
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestProject.V5
{
public enum TextmacroArgumentType
{
None = 0,
RawStringSingleLine = 1,
RawStringMultiLine = 2,
Template = 4,
RawStrings = RawStringSingleLine | RawStringMultiLine,
Any = RawStrings | Template,
}
public class TextmacroTemplate
{
public List<TextmacroArgumentType> Arguments { get; private set; } = new List<TextmacroArgumentType>();
public List<TextmacroElement> Elements { get; private set; } = new List<TextmacroElement>();
}
public class TextmacroInstance
{
public TextmacroTemplate Template { get; private set; }
public TextmacroArgument[] Arguments { get; private set; }
public TextmacroInstance(TextmacroTemplate template)
{
Template = template;
Arguments = new TextmacroArgument[Template.Arguments.Count];
}
}
public class TextmacroElement
{
}
public class TextmacroArgument
{
string RawString;
TextmacroElement Element;
}
}