La clase InterfaceHelper (http://www.victorespina.com.ve/wiki/index.php?title=Implementacion_de_interfaces_en_VFP) ofrece una forma sencilla (aunque limitada) de lograr los beneficios del uso de interfaces en VFP.
Su uso es muy sencillo:
1) Se declara una variable publica que almacene una instanca de interfaceHelper:
PUBLIC goInterfaces && Puede ser cualquier nombre goInterfaces = CREATE("interfaceHelper")
2) Se declaran las interfaces como clases derivadas de la clase Interface:
DEFINE CLASS IEnumerable AS Interface Count = 0 DIMEN Items[1] ENDDEFINE
3) Se publica la interfaz en el helper de interfaces:
goInterfaces.Declare("IEnumerable")
4) Se usa el metodo Implements del helper para determinar si un cierto objeto implementa una interfaz publicada:
IF goInterfaces.Implements(oData, "IEnumerable") FOR i = 1 TO oData.Count ... ENDFOR ENDIF
En el caso de versiones de VFP anterior a la 9, no es posible declarar las interfaces mediante subclases de Interface, pero aun asi puede hacerse manualmente:
goInterfaces.Declare("IEnumerable","count,items")
Saludos
Victor Espina
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.