0

我需要匹配FixedFormatSettings的属性。例如,我可能在字符串 [] 中有字符串“BitmapUnembeddableFonts”和“UsePdaA”。如果我想遍历 string[],并将我找到的任何匹配属性(作为字符串)设置为 true(例如 FixedFormatSettings.UsePdaA = true),我将如何去做?

4

1 回答 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 回答