We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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# 9.0 の partial method/module initializer 新文法の説明と合わせて source generator の話したい…
https://ufcpp.net/study/csharp/misc/analyzer-generator/ に1ページ追加。
既存の技術と比べて:
既存技術置き換えユースケース:
https://github.com/dotnet/roslyn/blob/master/docs/features/source-generators.md
その他のユースケース:
Select(IAsyncEnumerable, Func)
Select(IEnumerable, AsyncFunc)
Action
Action<T>
Action<T1, T2>
+
自作してみてるやつ:
The text was updated successfully, but these errors were encountered:
一応それっぽいページ1個足した。
積みタスク:
Sorry, something went wrong.
https://youtu.be/vIYGnhi3DOk
No branches or pull requests
C# 9.0 の partial method/module initializer 新文法の説明と合わせて source generator の話したい…
https://ufcpp.net/study/csharp/misc/analyzer-generator/ に1ページ追加。
初期案
既存の技術と比べて:
既存技術置き換えユースケース:
https://github.com/dotnet/roslyn/blob/master/docs/features/source-generators.md
その他のユースケース:
‐ MasterId みたいな、int にエイリアスを付けて、間違った数値・違う型の Id を参照しちゃうみたいな問題を避けるやつ
‐ とはいえ、手書きだと煩雑なコードが多すぎるので、それを source generator で生成したい
‐ Equals を shallow 比較じゃなくて deep 比較にするとか
‐ PrintMembers で ToString 表示するメンバーをコントロールするとか
Select(IAsyncEnumerable, Func)
、Select(IEnumerable, AsyncFunc)
みたいなやつの生成‐ タプルとか Action/Func みたいに
Action
、Action<T>
、Action<T1, T2>
... みたいなのが大量に並んでるやつとか+
演算子を持ってることはわかってるけどインターフェイスは実装してない・virtual call のコストが許容できないものをコード生成で対処自作してみてるやつ:
‐ これも汎用シリアライズの脱リフレクション化で使えたりする
‐ string リテラルは UTF-16 で記録されてしまうので、変換のコストをなくすために使う「ガチガチの最適化」系ツール
‐ mix-in をコード生成で実現してる
The text was updated successfully, but these errors were encountered: