Dato il seguente codice:
public interface IUserDataProvider {
ICollection<SomeClass> getSomeClassRecordsForUser(int idUser);
}
È possibile definire (tramite documentazione) un'aspettativa che ogni classe di implementazione restituisca null invece di una raccolta vuota (o viceversa) quando non vengono trovati record? Mi rendo conto che le interfacce non hanno il controllo esplicito sul modo in cui sono implementate, ma considerando che le interfacce si dice definiscano un contratto, mi chiedo quanto possa giustamente estendersi la giurisdizione di quel contratto.
Grazie in anticipo per le tue risposte.