Как сказал Quarrelsome, если этот пользовательский класс является коллекцией, тогда потребуется IBindingList. Для других классов INotifyPropertyChange полезен, потому что любые изменения, внесенные в ваш объект с помощью кода, такие как очистка полей при нажатии кнопки, автоматически обновят пользовательский интерфейс. Если вы используете WPF, вы можете добавить DependencyProperties к своему классу и привязать к ним, что, я уверен, избавит от необходимости INotifyPropertyChanged. Если вы используете ASP.NET, то вы не можете использовать INotifyPropertyChange. Я хотел бы дать конкретный ответ, но если я не знаю технологию пользовательского интерфейса (WPF, WinForms, веб-формы ASP.NET, ASP.NET MVC, Silverlight), которую вы будете использовать, я просто должен охватить основы.