Вам не нужно typeof
во втором примере. Просто используйте:
FieldInfo[] fieldInfos = this.GetType().GetFields(BindingFlags.NonPublic |
BindingFlags.Instance);
Смысл typeof
в том, что это своего рода «буквальный» формат для получения ссылки Type
. GetType()
уже возвращает тип, поэтому он вам не нужен.
Другими словами, предположим, что вам нужна строка ... вы бы не использовали:
string x = "y.ToString()";
вы бы просто использовали
string x = y.ToString();
Заменить кавычки на typeof()
, и это то же самое ...