如何限制类的使用
有没有办法强制一个类只能在 ASP.NET 中使用?这样就不能在 WinForm 应用程序中引用它,也不能在实例化时抛出异常。是否有某种 .NET 类属性用于此目的?
Is there a way to enforce a class only to be used in ASP.NET ? So that it can't be referenced in a WinForm app or throw exception when instantiated. Is there some kind of .NET class attribute for this purpose?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不要!!!
Don't!!!
internal
访问修饰符允许类/方法仅在同一程序集中使用。只要设置应用程序/Web 应用程序的部署,以便您要保护的类位于 Web 应用程序的单独程序集中,则该类将无法访问。
The
internal
access modifier allows classes/methods to only be used within the same assembly.As long as the deployment of the application / web application is set up so that the class you wish to protect is in a separate assembly to the web application, the class will not be accessible.
考虑使用面向方面的编程技术。
PostSharp 解决方案:
控制对象可见性 – 有时内部和私有关键字是不够的。限制哪些命名空间、程序集或类型可以引用成员或实现接口。
Consider using Aspect Oriented Programming techniques.
PostSharp's solution:
Control object visibility – Sometimes internal and private keywords are not enough. Restrict which namespace, assembly or type can reference a member or implement an interface.