【发布时间】:2018-08-28 00:50:38
【问题描述】:
这听起来很奇怪,但是可以从委托实现中访问类实例的属性吗?我想让类用户能够将更多代码和功能(在运行时执行)注入到类中。如果以下方法不可行,我还有其他选择吗?
Test.cs:
Class Test{
public int P {get; set;};
public Action A;
public void Run(){
this.A();
}
}
主要:
t = new Test();
t.A = () => { /* Modify t.P in here. */};
t.Run();
【问题讨论】:
-
为什么不把它作为参数传递给委托?
-
关闭应该管理这个。你试过了吗?你有遇到什么问题吗?
-
类中有很多属性。
-
@Alex 你的代码可以工作(有一些小的语法更正),但正确的方法是 haim770 提出的方法
-
也许我误解了这个问题,但
t.A = () => { t.P = 100;};在你的主要工作中效果很好。