handzlikchris / handzlikchris/FastScriptReload

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

オープン
#148 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C#
スター
2.2k
フォーク
167
PR マージ指標
30日以内にマージされた PR はありません

説明

Tried updating BouncerService.cs:
```csharp
public interface IBouncerService {
event Action Bounced;
// ..
}

public class BouncerService : IBouncerService {
public struct Case { /* .. */ }
public event Action Bounced = delegate { };
// ..
}
```
Got following SourceCodeCombined.cs:
```csharp
public interface IBouncerService__Patched_{
event Action Bounced;
// ..
}

public class BouncerService__Patched_: IBouncerService {
public struct Case { /* .. */ }
public event Action 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'.
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start with the BouncerService.cs example and inspect the generated SourceCodeCombined.cs output, focusing on how the interface and class are renamed. Reproduce the compiler error and trace the hot-reload transformation that produces the renamed types. Done means the transformed example compiles without CS0738 and the event still matches the interface member.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
csharp, unity
領域
devtools, game-dev
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。