Se eu entendi direito, sua Factory retorna a instância das classes concretas, e nesse trecho de código, a MyInterface
é a interface comum delas. É isso?
Nesse caso, o correto seria criar os getters
dentro da interface, e implementar nas classes concretas os retornos de cada propriedade (claro, se o seu objetivo realmente for ter acesso às propriedades). Assim você conseguiria acessar os atributos delas sem ter que fazer um cast (que, inclusive, seria uma má-prática, já que perderia o sentido de utilizar uma interface em primeiro lugar).
Algo importante de lembrar do polimorfismo em todo caso, é que se a interface obrigar a implementação de um método vazio dentro de qualquer uma das classes concretas, há uma falha na orientação a objetos ─, isto não deve acontecer.
Além disso, um último detalhe que vale apena refletir, é sobre o acesso às propriedades dos seus objetos: será que vale apena acessá-los? Aqui teremos outro viés: a Lei de Demeter.
A Lei de Demeter é uma diretriz / prática de desenvolvimento orientado a objetos que diz que um objeto A pode até acessar um objeto B, mas um objeto A não deve acessar um objeto C se este for através de um objeto B. Ou seja: seu código fonte (objeto A), pode conhecer um objeto B (as interfaces e implementações), mas, ao menos em um mundo ideal, não deveria conhecer objetos C (propriedades de B).
Obviamente, a Lei de Demeter não é uma lei de verdade, e inclusive por isso eu prefiro chamá-la pelo seu outro nome: O princípio do menor conhecimento. Mas vale com certeza refletir um pouco sobre isso pois esta é uma boa-prática que visa baixo acoplamento de código, e maior manutenibilidade das "classes C".