リフレクション
公式サイト:
リフレクション | Microsoft Learn [公式]
使い方
参考:
C#のリフレクションとは?基本の使い方から紹介! | .NETコラム
プロパティを取得する
参考:
リフレクションを使ってプロパティを取得する | JOHOBASE
定数を取得する
参考:
How can I get all constants of a type by reflection? – Stack Overflow
インスタンスを生成する
参考:
リフレクションを使ってインスタンスを生成する | JOHOBASE
フィールド情報を取得する
参考:
Type.GetField メソッド | Microsoft Learn [公式]
Type.GetFields メソッド | Microsoft Learn [公式]
FieldInfo クラス | Microsoft Learn [公式]
カスタム属性を取得する
参考:
MemberInfo.GetCustomAttributes メソッド | Microsoft Learn [公式]
Get all properties which marked certain attribute – Stack Overflow
Getting the attributes of a field using reflection in C# – Stack Overflow
Binding Flags
参考:
リフレクションの Binding Flags は一旦これだけ覚えておこう | 渋谷ほととぎす通信
Binding Flags の効果 | Visual Basic 中学校
Binding Flags について調べてみた話 | はかせのラボ
BindingFlags 列挙型 | Microsoft Learn [公式]
How to get both fields and properties in single call via reflection? – Stack Overflow
パフォーマンス
参考:
リフレクションは遅い?処理時間実測と改善方法 | 堺docs
Why is Reflection Slow? | Performance is a Feature!
Improving Reflection Performance with Delegates | Jeremy Bytes
Making Reflection Fly and Exploring Delegates | Jon Skeet’s coding blog
Is Reflection really slow? – Stack Overflow
How costly is .NET reflection? – Stack Overflow
リファレンス
System.Reflection 名前空間 | Microsoft Learn [公式]
Tips
リフレクション Tips コードスニペット一覧 | JOHOBASE
Constructor Info Extensions
コード:
型の構造を出力する拡張メソッド (sonoichi60) – GitHub Gist
参考:
型の構造を出力する拡張メソッドを作った | そのいち blog
Fast Expression Kit
リポジトリ:
vivainio/FastExpressionKit: Things to Speed Up C# Code by Avoiding Reflection – GitHub
Fasterflect
リポジトリ:
buunguyen/fasterflect: .NET Reflection Made Fast and Simple – GitHub
入手:
fasterflect | NuGet Gallery [Official]
参考:
Fasterflect vs HyperDescriptor vs FastMember vs Reflection | theburningmonk.com