I want to display a list of people in a
DataGridView in a Windows Forms app. I want my service layer to return a list of Person objects (e.g., IList
Binding to an IList will only give you one-way binding; changes to the list or list items will not be reflected in the DataGridView. You can use a BindingList or BindingSource to get this functionality instead, but your Person class will still need to support INotifyPropertyChanged or else you will only get synchronisation when items are added/removed to/from the list, not when the list items themselves change.
If you want to avoid a dependency on System.Windows.Forms, you could use ObservableCollection instead; this supports the necessary change notifications and can therefore be used as a two-way binding source.