Я хочу создать статический класс, который бы загружал некоторые настройки из файла XML и применял эти настройки к своим собственным свойствам.
Я пытаюсь использовать следующий код, но я не знаю, что дать методу SetValue, поскольку класс, для которого мы хотим установить свойство, является статическим.
// 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;
}
}
Можно ли даже задать свойства для статических классов с отражением?