我有一段代码是这样的:
public class NoFollowWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
var request = (HttpWebRequest)base.GetWebRequest(address);
request.AllowAutoRedirect = false;
return request;
}
}
不过,每当我将它添加到 .cs 文件时,Visual Studio 2012 都会以其无穷的智慧将我的 C# 源文件转换为“设计时组件”。因此,当我现在双击该文件时,我看到的不是我的 C# 代码,而是“要将组件添加到您的类中,将它们从工具箱中拖出并使用属性窗口来设置它们的属性”。
我知道我可以右键单击并执行“查看代码”,但这非常烦人。
有没有办法强制 Visual Studio 不假设我正在制作一个组件,或者我不关心他们愚蠢的视觉设计器,这些设计器对我的类(class)毫无用处?
最佳答案
问题是Visual Studio会自动添加
<SubType>Component</SubType>
一旦您从 WebClient 继承,就在您的 .csproj 文件中。即使您尝试删除它,Visual Studio 也会在您重新打开项目时再次添加它。
一种解决方案是将以下属性添加到您的类中。
[System.ComponentModel.DesignerCategory("Code")]
关于c# - 可以从 WebClient 继承而我的代码不是 "design time component"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16240085/