如何从xml文件解析委托方法?

时间:2011-08-02 16:37:36

标签: c# xml

我希望能够为我的界面设置一个按钮,如果按下等,则使用不同的代理。

为了方便起见,能够从XML加载按钮会很棒。我已经设置了这样的设置:

<EclipseButton name="button1" texkey="thumbnail" istodraw="True">
 <position>
  <x>10</x>
  <y>10</y>
 </position>
 <width>64</width>
 <height>64</height>
</EclipseButton>

但我希望能够添加:

<IfPressed>
 <![CDATA[
 Console.WriteLine("The button is pressed");
 ]]>
</IfPressed>

然后我可以将cdata中的文本转换为lambda:

() => { Console.WriteLine("The button is pressed"); }

是否有可能使这成为可能?

2 个答案:

答案 0 :(得分:1)

作为@Yahia回复的替代方案,您可以创建一个预定义操作列表(类似于ASP AJAX Control Toolkits对操作所做的操作)并允许标记指定顺序等,例如

<IfPressed>
  <WriteToConsole Text="The button is pressed" />
</IfPressed>

然后将集合解析为待办事项列表,遍历每个添加的项目并执行它。

答案 1 :(得分:0)

虽然不容易,但可以参见http://msdn.microsoft.com/de-de/library/650ax5cx.aspx

您需要在运行时编译代码并使用反射来调用等。