Tengo un objeto que implementa una interfaz, luego encuentro ese objeto utilizando la reflexión ... ¿Cómo puedo lanzar el objeto a la interfaz y luego colocarlo en una lista?Objeto como interfaz
6
A
Respuesta
14
No necesita lanzar el objeto si es del tipo que implementa la interfaz.
IMyBehaviour subject = myObject;
Si el tipo de myObject
es sólo Object
entonces usted necesita para echar. Me gustaría hacerlo de esta manera:
IMyBehaviour subject = myObject as IMyBehaviour;
Si myObject
no implementa la interfaz dada se termina con subject
siendo null
. Es probable que deba verificarlo antes de incluirlo en una lista.
1
Aquí es una función que
cast [s] el objeto en la interfaz y luego se coloca en una lista
public void CastAndAdd(object objThatImplementsMyInterface, IList<IMyInterface> theList) {
theList.Add((IMyInterface)objThatImplementsMyInterface);
}
quiero decir, si ya has encontrado el objeto y tiene la lista, esto es bastante elemental. Simplemente reemplace "IMyInterface" con la interfaz que esté utilizando. O generalice esto según corresponda para su código específico.
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);
}
}
Cuestiones relacionadas
- 1. Esto parece crear un objeto desde una interfaz; ¿como funciona?
- 2. ¿Interfaz como tipo en Java?
- 3. Google Calendar como interfaz
- 4. Interfaz como propiedad
- 5. Crear objeto falso por interfaz
- 6. jQuery como interfaz para PHP?
- 7. casting un objeto a una interfaz genérica
- 8. Cómo comprobar que implementa objeto de interfaz
- 9. Excepción "objeto remoto implementa interfaz remota ilegal"?
- 10. Prueba si el objeto implementa la interfaz
- 11. crear objeto de clase abstracta e interfaz
- 12. Prueba si un objeto implementa una interfaz
- 13. ¿Podemos crear un objeto de una interfaz?
- 14. declarar propiedad como objeto?
- 15. PHP objeto como matriz
- 16. Objeto como clave hash
- 17. Casting null como objeto?
- 18. ¿Cómo puedo serializar un objeto que tiene una interfaz como propiedad?
- 19. ¿Por qué c no admite un objeto con una interfaz como parámetro?
- 20. ¿Por qué hay muchas propiedades en WPF como 'Objeto' en lugar de una interfaz?
- 21. Usando Java como backend y PHP como interfaz
- 22. ¿Por qué declarar una interfaz como abstracta?
- 23. Entidad que pasa MVC 3 como interfaz
- 24. Control WebBrowser como interfaz de usuario
- 25. interfaz como un parámetro de método en Java
- 26. C#: Renderizar objeto como XML
- 27. Clase con objeto como parámetro
- 28. Python y diccionario como objeto
- 29. objeto Array-como en javascript
- 30. Objeto PHP como documento XML
Publica un código y apunta a dónde estás atascado. –
oh ironía: el título de la pregunta ** es la respuesta ** exactamente – sehe