この C# メソッドの書き方
public bool CheckIsLocal()
{
return HttpContext.Current.Request.IsLocal;
}
C# Reflection.Emit を使用していますか?
このメソッドは単なる例です。私の意図は、C# Reflection.Emit を使用して関連するメンバーにアクセスするコードを記述する方法を発見することです。
この C# メソッドの書き方
public bool CheckIsLocal()
{
return HttpContext.Current.Request.IsLocal;
}
C# Reflection.Emit を使用していますか?
このメソッドは単なる例です。私の意図は、C# Reflection.Emit を使用して関連するメンバーにアクセスするコードを記述する方法を発見することです。
public Func<bool> GenerateCheckIsLocal() {
var dynamicMethod = new DynamicMethod("CheckIsLocal", typeof(bool), Type.EmptyTypes, true);
var il = dynamicMethod.GetILGenerator();
il.Emit(OpCodes.Call, typeof(HttpContext).GetProperty("Current").GetMethod);
il.Emit(OpCodes.Call, typeof(HttpContext).GetProperty("Request").GetMethod);
il.Emit(OpCodes.Call, typeof(HttpRequest).GetProperty("IsLocal").GetMethod);
il.Emit(OpCodes.Ret);
return dynamicMethod.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
}
このようなものはうまくいくはずです。