SO に関する質問の 1 つに対する私の回答は、Valentin Kuzub によってコメントされました。彼は、JIT コンパイラによってプロパティをインライン化すると、リフレクションが機能しなくなると主張しています。
ケースは次のとおりです。
class Foo
{
public string Bar { get; set; }
public void Fuzz<T>(Expression<Func<T>> lambda)
{
}
}
Fuzz(x => x.Bar);
Fuzz
関数はラムダ式を受け入れ、リフレクションを使用してプロパティを見つけます。HtmlHelper
拡張機能の MVC では一般的な方法です。
Bar
プロパティがインライン化されてもリフレクションが機能しなくなるとは思いません。これは、Bar
インライン化されtypeof(Foo).GetProperty("Bar")
、有効な を返す呼び出しであるためですPropertyInfo
。
これを確認していただけますか、またはメソッドのインライン化に関する私の理解が間違っていますか?