-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C#: Task を用いるようにした #121
C#: Task を用いるようにした #121
Conversation
@0918nobita CI が落ちてるのはトークンの問題なので(PR Author のトークンでは当然リポジトリの操作ができない),気にしないでください 🙏 |
@siketyan @kawaemon この (エントリポイントで Task を返却するようにする) 修正を加えると、最新版の $ mcs --version
Mono C# compiler version 6.8.0.105
$ mcs RADWIMPS.cs
RADWIMPS.cs(25,28): warning CS0028: `RADWIMPS.Program.Main(string[])' has the wrong signature to be an entry point
error CS5001: Program `RADWIMPS.exe' does not contain a static `Main' method suitable for an entry point
Compilation failed: 1 error(s), 1 warnings 参考 Issue:mono/mono#6854 |
@0918nobita .NET Core 使いましょう…… |
このプロジェクト全体として最新の言語機能を重視するのか互換性を重視するのかというのは重要な議論点だと思うのでこの機会に決めておいたほうがよさそうです |
まぁこのプロジェクトで互換性云々を重視してもあんまり意味がない気がするので、今回は .NET Core を想定する案に賛成です。この際 |
@0918nobita 言語バージョンの指定は賛成ですが |
@siketyan |
@0918nobita たしかにそうですね… |
このPRの本筋から離れるため #123 にて検討します |
ごちゃごちゃしてきたのでディレクトリ構造に関する議論が片付いてから PR 投げ直します |
C# において非同期処理を行う際に用いられる Task で、then then then 世を実現しました。
具体的には、
Task
型のプライベートフィールドtask
を追加し、(すでに完了した処理を表す)Task.CompletedTask
で初期化then
メソッドで、task
フィールドに継続タスクを連結 (この時点では継続は実行されない) したうえで自分のthis
を返すようにした世
メソッドで、task
フィールドに継続タスクを連結したうえですべての継続を実行するようにした (これを呼び出したタイミングで「前前前世」が出力される)のような変更を加えています。