C# 防止在代码中使用system.reflection

C# 防止在代码中使用system.reflection,c#,asp.net,reflection,C#,Asp.net,Reflection,我编写了一些代码,在运行时将C#代码编译成程序集,并将其存储在asp.net的内存中。之后,就可以执行这样的编译代码了 要在运行时编译的代码由用户编写。它总是从我创建的基类继承的一个类。问题是,用户可以使用反射访问这个基类中的私有字段和方法。所以我的问题是:有没有办法防止使用反射?框架类库中有一个属性,它通过System.reflection API控制对非公共类型和成员的访问。如果您可以将此属性应用于案例中生成的程序集,您可以尝试查看它是否有效。我们可以看到一些代码吗。你试过什么?我现在什么都

我编写了一些代码,在运行时将C#代码编译成程序集,并将其存储在asp.net的内存中。之后,就可以执行这样的编译代码了


要在运行时编译的代码由用户编写。它总是从我创建的基类继承的一个类。问题是,用户可以使用反射访问这个基类中的私有字段和方法。所以我的问题是:有没有办法防止使用反射?

框架类库中有一个属性,它通过System.reflection API控制对非公共类型和成员的访问。如果您可以将此属性应用于案例中生成的程序集,您可以尝试查看它是否有效。

我们可以看到一些代码吗。你试过什么?我现在什么都没试过。我做了一些研究,没有发现任何有用的东西。我要强调伊奥伊特·耶纳的观点——让用户编写代码,然后在服务器上编译和运行是危险的。你担心访问私有字段?还要担心调用
System.IO.Directory.Delete(“C:\\”)
。在.NET4.0之前,我们有代码访问安全性。在4.0及以上版本中,我们有安全透明的代码。请仔细阅读: