GetProperties () возвращает массив PropertyInfo объектов. Ваш вызов p.GetType () всегда будет возвращать typeof (PropertyInfo) - никогда не передаваемый тип «view».
Вы, вероятно, хотите вместо этого:
from p in m.Value.GetType().GetProperties()
where p.PropertyType.Equals(view)
select p
Редактировать
Как указал Роберт, ваша логика определения того, возвращает ли вышеуказанный запрос какие-либо свойства, также неверна. Простой способ обойти это - посмотреть, что-нибудь получилось из подзапроса:
var module = from m in Modules
where (
from p in m.Value.GetType().GetProperties()
where p.PropertyType.Equals(view)
select p
).Any()
select m
Имейте в виду, что этот запрос может возвращать более одного модуля. Возможно, вы захотите вернуть .First () из результатов.