【问题标题】:How to restrict class usage如何限制类的使用
【发布时间】:2011-07-18 12:09:12
【问题描述】:

有没有办法强制一个类只能在 ASP.NET 中使用?这样它就不能在 WinForm 应用程序中被引用或在实例化时抛出异常。是否有某种 .NET 类属性可用于此目的?

【问题讨论】:

    标签: asp.net .net class restriction


    【解决方案1】:

    不要!!!

    public class WebOnly
    {
        public WebOnly()
        {
            if (HttpContext.Current == null)
                throw new Exception("me needs web");
        }
    }
    

    【讨论】:

      【解决方案2】:

      internal 访问修饰符允许类/方法只能在同一个程序集中使用。

      只要设置应用程序/Web 应用程序的部署,以便您希望保护的类位于 Web 应用程序的单独程序集中,就无法访​​问该类。

      【讨论】:

        【解决方案3】:

        考虑使用面向方面的编程技术。

        PostSharp's解决方案:

        控制对象的可见性——有时内部和私有关键字是不够的。限制哪些命名空间、程序集或类型可以引用成员或实现接口。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-20
          • 2011-11-03
          • 1970-01-01
          • 2022-12-06
          • 2011-09-07
          • 1970-01-01
          相关资源
          最近更新 更多