我使用vs2008的GUI工具生成一些LINQ to SQL类,我的问题是StringTemplate无法达到那些模型的属性
$persons:{
<li>$it.name$</li>
}$
它打印出来了:
<li></li>
<li></li>
<li></li>
名称是人模型的公共属性。如果我自己创建一个人类,并且相同的属性,StringTemplate可以得到它。
答案 0 :(得分:1)
设计器根据编译器生成一个普通类,代码只是自动生成。我怀疑你还有其他一些问题 - 也许你没有包含正确的引用/命名空间,或者你有一个命名空间冲突,它选择了错误的类。
答案 1 :(得分:0)
这不是正确的解决方案,但我遇到同样的问题,使用$it._name$
对我有用。这是访问私人支持领域,所以不是一个好主意。但是,这意味着StringTemplate可以找到该字段,但不能找到name
属性。奇
编辑:
知道了。 StringTemplate假定属性以大写字母开头。因此,如果您的财产被称为Name
,那就可行。您可以在StringTemplate的源代码中重命名您的属性或修复有问题的代码
致ASTExpr.cs:RawGetObjectProperty
的呼叫GetPropertyValueByName
(使用methodSuffix
,而非propertyName
)。