Jen*_*ens 9 .net c# reflection lambda
我在两台不同的机器上运行以下程序:
static class Program
{
static void Main(string[] args)
{
Func<int> lambda = () => 5;
Console.WriteLine(lambda.GetMethodInfo().IsStatic);
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
在一台计算机上,安装了.NET 4.5和Visual Studio 2012,在另一台机器上打印"true",在.NET Framework 4.6.2和Visual Studio 2015上打印"false".
我认为匿名方法是静态的,如果它们是在静态上下文中定义的.在最后一些框架更新期间,这是否有所改变(以文档的方式)?
我需要做的是使用Expression.Callon lambda.GetMethodInfo(),在非静态的情况下,这需要一个定义lambda的实例.如果我想使用lambda.GetMethodInfo().Invoke我会遇到同样的问题.
我怎么能得到这样的实例?
| 归档时间: |
|
| 查看次数: |
219 次 |
| 最近记录: |