是否可以在可移植类库中创建LINQ表达式并在应用程序的其他部分重用该表达式?对我来说,一个方便的用例是在不同平台的CompiledQuerys中使用这些表达式,而不是多次复制/粘贴相同的代码。
到目前为止,我所有的尝试最终都抛出了一些或多或少无意义的运行时异常(NullReferenceException
,未找到列...)。我猜测PCL中的LINQ表达式的处理方式与WP应用程序中的不同?
public class SomeClassNotInPCL
{
private static readonly Func<Context, int, MyClass> CompiledQuery =
CompiledQuery.Compile(ClassFarAway.MethodInsidePCL());
}
public class ClassFarAway
{
private static Expression<Func<IContext, int, MyClass>> MethodInsidePCL()
{
return (context, id) => context.MyClass.FirstOrDefault(m => m.Id == id);
}
}
答案 0 :(得分:-1)
这样的事情怎么样?
var commonExpressions = new Dictionary<CommonRegEx, Regex>();
public enum CommonRegEx{
Phone,
Email,
SSN
}