我需要匹配FixedFormatSettings的属性。例如,我可能在字符串 [] 中有字符串“BitmapUnembeddableFonts”和“UsePdaA”。如果我想遍历 string[],并将我找到的任何匹配属性(作为字符串)设置为 true(例如 FixedFormatSettings.UsePdaA = true),我将如何去做?
问问题
829 次
1 回答
1
使用下一个代码作为通过名称及其值的字典设置属性的示例。
var valuesToSet = new Dictionary<string, object>
{
{"BitmapUnembeddableFonts", false},
{"UsePdaA", true}
};
var settings = new FixedFormatSettings();
var properties = settings.GetType()
.GetProperties()
.Where(p => p.CanWrite);
foreach (var property in properties)
{
object valueToSet;
if(valuesToSet.TryGetValue(property.Name, out valueToSet))
{
property.SetValue(settings, valueToSet);
}
}
Console.WriteLine(settings.BitmapUnembeddableFonts); //false
Console.WriteLine(settings.UsePdaA); //true
于 2013-11-07T06:33:35.227 回答