c# - 可以从 WebClient 继承而我的代码不是 "design time component"吗?

标签 c# visual-studio visual-studio-2012 components webclient

我有一段代码是这样的:

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/

相关文章:

c# - 在 Visual Studio 中使用 DTE 的程序包管理器控制台自动化

c# - 无法加载dll : Module cannot be found

c++ - 我怎么能在 VC 2008 中删除 "error C4335: Mac file format detected"

c# - Arrays Error Error “Invalid rank specifier: expected ' ,' or ']”

c# - 如何显式转换类型为 'object' 的变量以满足多类型泛型约束?

c# - 在条件中使用赋值是否安全? C/C++、C#

java - ScintillaNET 控件不显示语法着色?

c# - Visual Studio 编译 - 更改 DLL 文件说明

c# - 如何将 Gridview 标题对齐到右边?

c# - WCF 是否进行 CRL/OCSP 证书检查?