Ho un oggetto che implementa un'interfaccia, quindi trovo quell'oggetto usando la riflessione ... Come posso lanciare l'oggetto nell'interfaccia e quindi inserirlo in una lista?Oggetto come interfaccia
6
A
risposta
14
Non è necessario eseguire il cast dell'oggetto se è di un tipo che implementa l'interfaccia.
IMyBehaviour subject = myObject;
Se il tipo di myObject
è solo Object
allora avete bisogno di lanciare. Vorrei fare in questo modo:
IMyBehaviour subject = myObject as IMyBehaviour;
Se myObject
non implementa l'interfaccia data si finisce con subject
essere null
. Probabilmente dovrai controllarlo prima di inserirlo in una lista.
1
Ecco una funzione che
fusione [s] l'oggetto nell'interfaccia e poi posto in una lista
public void CastAndAdd(object objThatImplementsMyInterface, IList<IMyInterface> theList) {
theList.Add((IMyInterface)objThatImplementsMyInterface);
}
Voglio dire, se hai già trovato l'oggetto e avere la lista, questo è abbastanza elementare. Basta sostituire "IMyInterface" con qualsiasi interfaccia tu stia utilizzando. O generalizzare da questo come appropriato per il tuo codice specifico.
1
public interface IFoo { }
public class Foo : IFoo {}
SomeMethod(object obj)
{
var list = new List<IFoo>();
var foo = obj as IFoo;
if(foo != null)
{
list.Add(foo);
}
}
Problemi correlati
- 1. Oggetto interfaccia predefinito
- 2. Crea oggetto falso tramite interfaccia
- 3. C# stub. Interfaccia per ogni oggetto testabile?
- 4. Inizializzatore oggetto con interfaccia esplicita in C#
- 5. Come posso verificare se un oggetto interfacciato implementa un'altra interfaccia?
- 6. Come interfaccia di interrogazione PowerShell in un oggetto COM
- 7. Come ridurre javascript oggetto per contenere solo oggetti di interfaccia
- 8. Come lanciare un interfaccia a un oggetto in Delphi
- 9. Perfezionamento monade "interfaccia" "interfaccia"
- 10. Interfaccia come tipo in Java?
- 11. Come codificare un metodo di estensione C# per trasformare un oggetto modello di dominio in un oggetto di interfaccia?
- 12. Interfaccia C# domanda
- 13. Controllo WebBrowser come interfaccia utente
- 14. Hadoop: modo semplice di avere un oggetto come valore di output senza interfaccia scrivibile
- 15. Interfaccia IEqualityComparer in Java
- 16. Interfaccia con una webcam
- 17. definizione interfaccia
- 18. confusi su interfaccia Java
- 19. Interfaccia indicizzabile
- 20. Interfaccia vtable
- 21. Interfaccia Iterator
- 22. Interfaccia che richiede l'implementazione dell'attributo
- 23. Come definire il tipo di restituzione di un metodo di interfaccia come un'altra interfaccia?
- 24. Come Share ASP.NET Web API con proprietà modello come interfaccia
- 25. attuazione comparatori di interfaccia
- 26. Converti mappa [interfaccia {}] interfaccia {} per mappare [stringa] stringa
- 27. interfaccia estende un'altra interfaccia, ma implementa i suoi metodi
- 28. View.OnClickListener() una funzione o interfaccia
- 29. Come creare un'istanza di interfaccia anonima in Kotlin?
- 30. Interfaccia con parametro generico vs Interfaccia con metodi generici
Inserisci un codice e indica dove sei bloccato. –
oh ironia: il titolo della domanda ** è la risposta ** esattamente – sehe