阅读this post和链接后,我仍有2个问题
问题#1
什么是条件,以便我能够在c#中执行动态代码?目标类/对象必须依赖.net clr
吗?我的意思是如果有人给我一个Pascal DLL,我想我将无法通过动态(或将?)使用它的代码..所以:动态工作的要求是什么?
问题#2
例如:在脚本对象中 - 为了增加int,代码应为:
Scriptobj.SetProperty("Count", ((int)GetProperty("Count")) + 1);
我可以做动态:
scriptobj.Count += 1;
这是否意味着scriptobj的类程序员编写了支持性代码,使DLR 能够=+1
?
ScriptobjClass : DynamicObject
{
...
public override bool TryInvokeMember (...when +=1 so do a+1....)...
}
我在这里缺少必要的东西。
是这样的:“我们正在构建一个类,但我们也应该让.net DLR访问它 - 所以让我们编写更多代码,以便这个类也支持操作,这将允许.net用户通过dlr访问此类“?