在UWP中,我们可以使用动态编译和使用C#Reflection的成员调用动态编译和调用UWP中的新页面吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在UWP中,我们可以使用动态编译和使用C#Reflection的成员调用动态编译和调用UWP中的新页面吗?相关的知识,希望对你有一定的参考价值。

使用System.CodeDom.Compiler.CodeDomProvider我可以编译代码直到.Net 4+。因此,我可以在运行时动态编译代码,并以编程方式使用C#Reflection调用任何WinFrom表单。 同样,我们可以在UWP平台上做到这一点吗?我尝试使用UWP进行相同的流程,但UWP不支持这些编译器程序集。

答案

简短的回答:可能不是

为什么?

UWP是沙箱,因此允许动态代码编译会有一点风险,因为应用程序可能会做一些它不应该做的事情,同时使商店中的自动扫描更难以检测恶意行为。

但是,根据您实际需要的内容,您可以始终使用System.Expression命名空间(请参阅:here)动态编译某些功能。

然后,您可以拥有一个通用页面,您只需将功能替换为内外。

以上是关于在UWP中,我们可以使用动态编译和使用C#Reflection的成员调用动态编译和调用UWP中的新页面吗?的主要内容,如果未能解决你的问题,请参考以下文章

UWP: 掌握编译型绑定 x:Bind

UWP: 掌握编译型绑定 x:Bind

UWP:使用Behavior实现Button点击动态效果

Winform DataGridView到UWP Datagrid C#

UWP:使用Behavior实现Button点击动态效果

从网站打开 UWP 应用