我有一个字典,其中键是表示类属性名称的字符串,值是我要分配给该属性的值。我已经确定了 Dictionary 项目所引用的属性,但我不确定如何在不使用具有所有可能属性的荒谬 switch 语句的情况下实际设置该属性或调用适当的方法。有没有一些有效的方法来做到这一点?我无法更改 UserConfiguration 类或扩展它。
这是我到目前为止所拥有的:
public class Class1
{
public Dictionary<string, string> PDictionary = new Dictionary<string, string>
{
{"UserName", "Steve"},
{"Location", "Over There Somewhere"},
{"Color", "Mellow Yellow"},
{"Password", "ILikeCheese"}
};
public void SomeMethod()
{
foreach (var prop in PDictionary)
{
UserConfiguration.Property property;
Enum.TryParse(prop.Key, out property);
//Set appropriate property or call appropriate method...
}
}
}
public class UserConfiguration
{
public enum Property
{
UserName,
Location,
Color,
Password
}
public string UserName { get; set; }
public string Location { get; set; }
public string Color { get; set; }
public string Password { get; private set; }
public void SetPassword(string password)
{
Password = password;
}
}
有人有什么好主意吗?