可能非常简单的问题,但我是IronPython的新手。我想使用IronPython来抓取我传递给它的实体,但是当我尝试使用任何扩展方法时,它会像预期的那样爆炸。如何在IronPython中遍历我的POCO?
delegate bool EvaluateRule(MyEntity entity);
//Keep in mind this is just to test, no actual value provided
string expression = @"entity.Flags.FirstOrDefault() == null";
MyEntity entity = new MyEntity();
PythonEngine engine = new PythonEngine();
EvaluateRule rule = engine.CreateLambda<EvaluateRule>(expression);
bool result = rule.Invoke(entity);
我得到以下内容:'EntityCollection [MyEntity]'对象没有属性'FirstOrDefault'
提前致谢!
答案 0 :(得分:3)
您可以将扩展方法称为常规静态方法:
string expression = @"Enumerable.FirstOrDefault(entity.Flags) == null";