Это не проблема бокса. Equals
- это виртуальный метод, который в штучной форме переопределяет типы значений.
Однако я не уверен, в чем проблема. Может ли быть так, что на самом деле нет подходящих свойств? Помните, что GetProperties()
без каких-либо параметров вернет только public properties. Если вам нужны private свойства, вам нужно добавить BindingFlags
:
GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
(я предполагаю, что вам не нужны статические свойства.)
Вы также уверены, что на самом деле вам нужны свойства , а не поля ? Помните, что если вы объявите что-то как
public string Name;
тогда это поле , тогда как
public string Name { get; set; }
является свойством . Если вам нужны именно эти поля, вам нужно использовать GetFields()
вместо GetProperties()
с такими же флагами привязки.