我们需要为类型提供用户友好的描述。我们创建了一个将类型映射到描述的资源文件。
使用实例的全名,将圆点替换为下划线作为key。 描述是一个字符串,包含引用实例中属性的模板。
当我们得到一个实例时,我们得到它的类型,得到键,并用它来找到资源值。然后使用正则表达式提取那些模板属性。然后使用反射来实际获取属性的值。
例如。 该实例可能是地址 关键是 MyNameSpace_MyPublicTypes_Address(假设全名是'MyNameSpace.MyPublicTypes.Address')
描述可以是“用户停留在{Country} 的{State.City}”——State 和Country 是Address 类的属性。国家有属性(property)城市。
有没有可能有类似的东西 'obj=>obj.State.City' 还是 'obj=>obj.Country'?或某种表达方式?
我正在使用 obj 因为它是反射实例。
感谢任何帮助。不确定之前是否有人问过这个问题。
最佳答案
这几乎就是动态 LINQ 库(.NET 3.5 示例之一)所做的。来源是all available , 或使用 see here .您应该能够跟踪将字符串解析为 Expression
的代码。当然,.
上的拆分和手动组装并不难;我有一个动态的 OrderBy
实现 here就是这样做的。
关于c# - 将字符串转换为表达式树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2119627/