Чтобы получить все свойства - используйте код как
List<PropertyInfo> allProperties =
typeof (InvalidAccounts).GetProperties(BindingFlags.Instance | BindingFlags.Public)
.ToList();
//Write out all properties to a console as a demo
allProperties.ForEach(Console.WriteLine);
Чтобы получить все поля - используйте код как
List<FieldInfo> allFields =
typeof(InvalidAccounts).GetFields(BindingFlags.Instance | BindingFlags.NonPublic)
.ToList();
//Write out all fields to a console as a demo
allFields.ForEach(Console.WriteLine);
Я думаю, вам нужно изменить исходный код, чтобы указать соответствующие обязательные флаги - так ваш запрос хотел бы немного как
PropertyInfo myAccount = typeof (InvalidAccounts)
.GetProperties(BindingFlags.Public | BindingFlags.Instance)
.First(x => x.GetValue(account, null)
.ToString()
.Equals("false", StringComparison.InvariantCultureIgnoreCase));
Я угадываю здесь немного - потому что я «Мне трудно понять, чего вы пытаетесь достичь (точнее - почему).
Вы должны указать обязательные флаги, чтобы указать, как свойство существует на объект, который вы заинтересованы в Ссылка:. http://msdn.microsoft.com/en-us/library/system.reflection.bindingflags(v=vs.110).aspx
Вы пробовали разбивая для выражения LINQ таким образом, чтобы вы получите поэтапные результаты посредника, который вам может проверить на отладку? –