Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
El tipo de expresión de cambio de caso 'Tipo' debe ser un subtipo del tipo de expresión de cambio 'BankEvent'

Recibo este error cuando trato de usar el cambio de caso en dart. Tengo una clase abstracta y dos clases que la extienden. Ver el código a continuación

 abstract class BankEvent{} class FetchBanks extends BankEvent{} class DeleteBank extends BankEvent{ final int bankId; DeleteBank(this.bankId); }

Tengo que hacer algunas implementaciones dentro del método handleEvents que dependen de la instancia de la clase que recibo como parámetro. Pero recibo el error (el tipo de expresión de cambio de caso 'Tipo' debe ser un subtipo del tipo de expresión de cambio 'BankEvent') en la declaración de caso del caso de cambio. Mi código para la implementación del caso del interruptor está a continuación

 handleEvents(BankEvent bankEvent){ switch(bankEvent){ case FetchBanks: break; } }
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

¿Por qué no simplemente cambia su swith a una declaración if, así:

 handleEvents(BankEvent bankEvent){ if(bankEvent is FetchBank){ // FetchBank stuff }else if(bankEvent is DeleteBank){ // DeleteBank stuff } }

Esto funciona y es bastante legible. Además, puede deshacerse del enfoque de cambio.

over 4 years ago · Santiago Trujillo Report

0

Sí, finalmente encontré la respuesta después de un poco de investigación. Debería escribirse como se muestra a continuación.

 handleEvents(BankEvent bankEvent){ switch(bankEvent.runtimeType){ case FetchBanks: break; } }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!