Tralasciando il fatto che potresti teoricamente usare object anche in C#, così come avviene in VB.NET, l'approccio corretto è utilizzare le interfacce che vengono implementate dagli oggetti per l'accesso ai dati di ADO.NET.
Ad esempio, invece di utilizzare SqlConnection oppure OleDbConnection, il membro deve avere come tipo IDbConnection; oltre a questo, esistono altre interfacce per tutti gli oggetti comunemente utilizzati, quali IDbCommand, IDataReader e così via...
L'indipendenza dalla base dati è comunque una problematica più ampia e complessa di questo (vi sono spesso differenze a livello di SQL e del tipo di dati utilizzato).
Favorirei l'uso di qualche tool che possa creare un'astrazione rispetto alla base dati utilizzata, così da poter configurare l'accesso al database in modo indipendente modellando la logica dell'applicazione su classi appartenenti a un dominio slegato dal database utilizzato.
Ciao!![]()