Здравствуйте, Ziaw, Вы писали:
Z>При компиляции вылетают "Error: unbound type name 'BLToolkit.Data.Linq.Table[ Nemerle.MVC.Models.Person ]'" причем в двойном экземпляре. Как ему указать на тип? Кстати, когда я делал
Z>Z> t.Define(<[decl:
Z> public $(propertyName : dyn) : BLToolkit.Data.Linq.Table[$(typeFullName : dyn)]
Z> {
Z> get { this.GetTable.[$(typeFullName : dyn)](); }
Z> }
Z> ]>);
Z>
Z>unbound был тип Nemerle.MVC.Models.Person.
typeFullName видимо имеет тип string. И он превращается в
единственный PExpr.Ref, тогда как для правильного "понимания" компилятором имени типа там нужно передавать цепочку PExpr.Member (писал в браузере):
def full_name_to_expr(name : string) {
match(NString.Split(name, ".")) {
| [] => <[ () ]>
| n :: [] => <[ $(n : dyn) ]>
| n :: ns => ns.FoldLeft(<[ $(n : dyn) ]>, (n, acc) => <[ $acc.$(n : dyn) ]>)
}
}