Подтвердить что ты не робот

Настройка свойств с отражением на статических классах

Я хочу создать статический класс, который загрузит некоторые параметры из файла XML и применит эти настройки к его собственным свойствам.

Я пытаюсь использовать следующий код, но я действительно не знаю, что передать методу SetValue, поскольку класс, для которого мы хотим установить свойство, является static.

// some code removed ...
Type settingsType = typeof(Settings);   // Settings is a static class

foreach (PropertyInfo propertyInformation in settingsType.GetProperties(BindingFlags.Public |
                                  BindingFlags.Static))
{
        //------------------------------------------------------------
        //  Determine if configured setting matches current setting based on name
        //------------------------------------------------------------
        if (propertyInformation.Name.Equals(name, StringComparison.OrdinalIgnoreCase))
        {
        //------------------------------------------------------------
        //  Attempt to apply configured setting
        //------------------------------------------------------------
        try
        {
        if (propertyInformation.CanWrite)
        {
        propertyInformation.SetValue(this, Convert.ChangeType(value, propertyInformation.PropertyType, CultureInfo.CurrentCulture), null);
        }
        }
        catch
        {
        }
            break;
        }

}

Можно ли даже устанавливать свойства статических классов с отражением?

4b9b3361

Ответ 1

Просто передайте null для экземпляра.