Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Error on updating file with interface+class with event parameter that's inside class

Aberta
#148 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
csharp, unity
Domínio
devtools, game-dev

Direção de pesquisa

Comece com o exemplo BouncerService.cs e inspecione a saída gerada SourceCodeCombined.cs, concentrando-se em como a interface e a classe são renomeadas. Reproduza o erro do compilador e rastreie a transformação de hot-reload que produz os tipos renomeados. Está concluído quando o exemplo transformado compila sem CS0738 e o evento ainda corresponde ao membro da interface.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Tried updating BouncerService.cs:

public interface IBouncerService {
  event Action<BouncerService.Case> Bounced;
  // ..
}

public class BouncerService : IBouncerService {
  public struct Case { /* .. */ }
  public event Action<Case> Bounced = delegate { };
  // ..
}

Got following SourceCodeCombined.cs:

public interface IBouncerService__Patched_{
  event Action<BouncerService.Case> Bounced;
  // ..
}

public class BouncerService__Patched_: IBouncerService {
  public struct Case { /* .. */ }
  public event Action<Case> Bounced = delegate { };
  // ..
}

With following error:

error CS0738: 'BouncerService__Patched_' does not implement interface member 'IBouncerService.Bounced'. 'BouncerService__Patched_.Bounced' cannot implement 'IBouncerService.Bounced' because it does not have the matching return type of 'Action<BouncerService.Case>'.
Linguagem predominante
C#
Estrelas
2.3k
Forks
171
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de handzlikchris/FastScriptReload

Todas as issues de handzlikchris/FastScriptReload

Issues semelhantes

Mais issues de C#

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.