Получить информацию о свойствах всех свойств, значения которых в настоящее время равны 'default'

Поэтому мне нужно получить все свойства экземпляра, который в настоящее время имеет значение, соответствующее значению по умолчанию соответствующего типа. Что-то вроде

GetType().GetProperties().Where(x => 
 x.GetValue(this).Equals(default(x.PropertyType)));

Очевидно, это не работает, потому что теперь "х" больше не может быть разрешено. Что я мог сделать?

1 ответ

Проблема немного отличается. Вы не можете передать экземпляр времени выполнения Type по умолчанию. Ваша проблема может быть упрощена:

var type = typeof (string);
var defaultValue = default(type); // doesn't work

Это не работает. Вместо этого вы хотите получить значение по умолчанию во время выполнения, на который был дан ответ на этот вопрос.

licensed under cc by-sa 3.0 with attribution.