using System.Threading.Tasks;
namespace NCC.ViewEngine
{
///
/// 视图引擎模板模型接口
///
public interface IViewEngineModel
{
///
/// 模型
///
dynamic Model { get; set; }
///
/// 写入字面量
///
///
void WriteLiteral(string literal = null);
///
/// 写入字面量
///
///
///
Task WriteLiteralAsync(string literal = null);
///
/// 写入对象
///
///
void Write(object obj = null);
///
/// 写入对象
///
///
///
Task WriteAsync(object obj = null);
///
/// 开始写入特性
///
///
///
///
///
///
///
void BeginWriteAttribute(string name, string prefix, int prefixOffset, string suffix, int suffixOffset, int attributeValuesCount);
///
/// 开始写入特性
///
///
///
///
///
///
///
///
Task BeginWriteAttributeAsync(string name, string prefix, int prefixOffset, string suffix, int suffixOffset, int attributeValuesCount);
///
/// 写入特性值
///
///
///
///
///
///
///
void WriteAttributeValue(string prefix, int prefixOffset, object value, int valueOffset, int valueLength, bool isLiteral);
///
/// 写入特性值
///
///
///
///
///
///
///
///
Task WriteAttributeValueAsync(string prefix, int prefixOffset, object value, int valueOffset, int valueLength, bool isLiteral);
///
/// 结束写入特性
///
void EndWriteAttribute();
///
/// 结束写入特性
///
///
Task EndWriteAttributeAsync();
///
/// 执行
///
void Execute();
///
/// 执行
///
///
Task ExecuteAsync();
///
/// 获取结果
///
///
string Result();
///
/// 获取结果
///
///
Task ResultAsync();
}
}