La maggior parte dei controlli andrà bene con l'oggetto stesso. Se vuoi proteggerti un po ', crea un'interfaccia che l'oggetto eredita, quindi passa l'oggetto come quell'interfaccia all'UC. In questo modo, puoi sostituire l'oggetto in un secondo momento e l'UC non gli interesserà, perché conosce solo i pezzi nell'interfaccia.
Non vuoi davvero passare le singole proprietà a meno che non sia solo 1 o 2. Altrimenti, ti ritroverai con funzioni che hanno un gran numero di parametri, o lunghe liste di linee di inizializzazione dell'oggetto. Passa un oggetto o un'interfaccia - le cose saranno molto più pulite.