我正在尝试实现一个模板类,该类接受模板 ID 和带有所需对象的字典。
例如
public string GenerateMessage(string messageID, Dictionary<string, dynamic> values)
{
string gameMessage = gameMessages[messageID];
var template= new StringTemplate(gameMessage);
foreach (var value in values)
{
template.SetAttribute(value.Key, value.Value);
}
return template.ToString();
}
使用示例
var values = new Dictionary<string, dynamic>();
values.Add("city", london) // instance of City
values.Add("country", uk) // instance of Country
values.Add("user", user) // instance of User
string message = GenerateMessage("ID123", values);
不幸的是,我使用的是 Unity,它只支持 .NET 3.5 的一个子集,不包括动态!
我真的不想有一个Dictionary<string, string>
我必须指定我需要的所有值的地方,我想提供对整个对象的模板引用,以便他们可以更灵活地更改模板。
有任何想法吗?