我有程序员使用不同的对象,例如具有制造商和地点的产品。
我的网页设计师需要定义配置规则,这些配置规则实际上是模板,应该能够使用来自产品或制造商的可变元素。
因此,从配置文件中我们读取了一个字符串,如:
string template = "Hello visitor, look at this [Product.Name] made by [Product.Manufacturer.Name], today it costs only [Price]";
现在我正在寻找具有最佳性能的最通用的设置,让程序员有类似的东西:
public static ParseTemplate(string template, params string[] values){
//parsing
}
甚至更好(想法草图模式)
public static ParseTemplate(string template, params object[] objects){
//parsing
return template.Replace("[objectName.PropertyName]", objectName.PropertyValue);
}
程序员应该能够指向一个模板,抛出他们在这个模板上拥有的任何值/对象,并且应该返回一个解析后的字符串,其中所有可能的占位符都替换为正确的值;
我们应该首先使用KeyValuePairs建立一个列表吗?这就是我现在所做的,但是程序员必须明确地填充这些列表,所以我在这方面寻找更简单的东西。
他们是否有可能只是投入'原始对象',并有一个帮助器来分类这些对象的属性并获取它们的值?
反射是否可以帮助我们?或者是否有更简单的方法?