In the case of binding a an object and its property to, say, a control using the feature

control.DataBindings.Add("Text", myObject, "PropertyName");

will always work except when myObject is of the IEnumerable type. Once that happens, the data binding architecture will attempt to use the list of objects returned by the Enumerator for updating of UI and data source, which is not desirable for our purposes. For example, with

 public class MyObject : Hashtable
    public string PropertyName { get; set; }

the DataBinding will fail logically because Hashtable is in fact an IEnumerable in disguise! Unfortunately there seems to be no way of telling .NET that we want it to treat MyObject as a single object, not unless we wrap it in another BindingSource or IEnumerable