In this article I have illustrated how we can implement a
generic Data Transfer Object in C#. Usage of a Data Transfer Object in lieu of
instances of DataSet, DataTable, Custom Business, etc. would facilitate loose
coupling and flexibility in your designs. We can change the type of the data
container seamlessly as and when it is needed without having to change much of
the application's code.