リフレクション

公式サイト:

リフレクション | Microsoft Learn [公式]

使い方

参考:

実行時型情報 | 未確認飛行 C

リフレクションについてまとめた | そのいち blog

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

なぜリフレクションは遅いのか | POSTD

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

Is using reflection still “bad” or “slow”? What has changed with reflection since 2002? – Software Engineering Stack Exchange

リファレンス

System.Reflection 名前空間 | Microsoft Learn [公式]

Tips

リフレクション Tips 55連発 – Qiita

リフレクション 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

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA