C#阻止类使用,例如WebBrowser

时间:2013-06-06 07:44:29

标签: c#

我试图阻止其他程序员使用特定的类(作为最佳实践,并考虑替代方案)。

更具体地说,我试图强制使用WebClient或HttpRequest而不是WebBrowser,因为有很多与WebBrowser使用相关的错误可能会留下开放的线程或消息循环并使应用程序挂起,所以它不会t end / exit。

WebBrowser更重,

我知道可以通过锁定

来实现
lock (typeof(System.Windows.Forms.WebBrowser))
{
}

但这有许多缺点。

是否可以在C#项目或文件或解决方案中阻止某个类(如WebBrowser)的使用?

使用pragma的警告会更好

#warning Please avoid using WebBrowser, consider WebClient

阻止命名空间的解决方案是一种选择,但仅作为最后的手段

2 个答案:

答案 0 :(得分:1)

您应该考虑创建your own coding rule set,这会在使用WebBrowser类时发出警告。

答案 1 :(得分:0)

只需使用类型检查方法即可传递参考:

 if(someobject is (System.Windows.Forms.WebBrowser))
 { 
   throw new ArgumentException("Don't use web browser here naughty programmer");
 }

对于锁定声明,我建议阅读(请不要以你想到的方式使用它):

http://msdn.microsoft.com/en-us/library/c5kehkcz.aspx