c# - 如何从 C# 中的 lambda 访问类成员?
问题描述
在java中我可以做到这一点
public class HelloWorld
{
public static void main(String[] args)
{
OtherClass oc = new OtherClass();
oc.a.run();
}
}
public class OtherClass
{
public int s = 3;
public Runnable a = () -> System.out.println("s is " + s);
}
输出将是s is 3
. 当我使用此代码在 C# 中尝试此操作时
using System;
namespace SomeNamespace
{
public class Program
{
public static void Main(string[] args)
{
MyClass m = new MyClass();
m.a.Invoke();
}
}
public class MyClass
{
public int s = 3;
public Action a = () => Console.WriteLine(s);
}
}
然后我得到(23:51) A field initializer cannot reference the non-static field, method, or property 'SomeNamespace.MyClass.s'
解决方案
推荐阅读
- docker - 无法停止在我的 mac 上运行的 docker 容器
- php - 如何从 Laravel 的指定日期知道周数?
- c# - 实体框架核心api保存一对多关系数据
- sql - 在第一个最高分之后找到最低分
- asp.net-core - 未针对在 IIS 上运行的 ASP.net Core 应用程序更新环境变量
- android - TextInputEditText 提示被框轮廓覆盖
- c++ - 从具有特定列索引c ++的另一个矩阵中提取矩阵
- android - 缩小我的应用程序剥离基本类
- kubernetes - playbook 中的 delegate_to 存在问题,调用角色仅在列表中的一个主机上运行
- python - 更新包后我无法导入 tensorflow