我正在尝试根据集合中的项目数在StringTemplate中执行if ...我想这样做:
$ if(length(myCollection)> 1)$
但是,这被认为是逻辑,因此被禁止(StringTemplate无法识别>运算符)。
但是,StringTemplate会反映出一种扩展方法吗?
我的扩展方法如下所示:
public static bool IsMoreThanOne(this ICollection list)
{
return list.Count > 1;
}
如果我的模板如下:
$if(myCollection.MoreThanOne)$
如果它是“第一顺序”方法(意思是“myCollection”对象),那将找到该方法。但它不是 - 它是一种扩展方法,所以它似乎没有用。
答案 0 :(得分:0)
对于这个特定逻辑,你可以使用下面的表达式,基本上说“如果我们跳过第一个项目,剩下的集合是否包含任何项目?”:
$if(rest(myCollection))$
通常,您可以创建IModelAdaptor
的实现,该实现支持访问对象的特定属性。如果您的实施范围扩展为ObjectModelAdaptor
或MapModelAdaptor
,那么对于您自己未处理的任何属性,您可以回退到return base.GetProperty(...)
。