C#-禁用CS0444警告

C#-禁用CS0444警告,c#,warnings,C#,Warnings,我收到此警告是因为我创建了以下类型: #if COMPACT_FRAMEWORK_3_5 namespace System.Diagnostics { /// <summary>Determines how a class or field is displayed in the debugger variable windows.</summary> /// <remarks>See : http://msdn.microsoft.com/

我收到此警告是因为我创建了以下类型:

#if COMPACT_FRAMEWORK_3_5

namespace System.Diagnostics
{
    /// <summary>Determines how a class or field is displayed in the debugger variable windows.</summary>
    /// <remarks>See : http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerdisplayattribute.aspx </remarks>
    [AttributeUsage(AttributeTargets.Delegate | AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Enum | AttributeTargets.Struct | AttributeTargets.Class | AttributeTargets.Assembly, AllowMultiple = true)]
    [ComVisible(true)]
    public sealed class DebuggerDisplayAttribute : Attribute
    { /* ... */ }
}
#endif
嗯,也许试试

#pragma warning disable 444
而不是评论错误号?当然,请参见

Ermm,或许可以尝试一下

#pragma warning disable 444

而不是评论错误号?当然,请参见您的示例中注释掉的数字:

#pragma warning disable // 0444
呃,不要:

#pragma warning disable 444
要全局禁用它,请在编译器中使用
/nowarn:444
(逗号分隔其他要禁用的警告)。如果使用IDE,可能会在项目属性中的某个地方设置警告以禁用(Visual Studio将其设置在“构建”选项卡上,SharpDevelop将其设置在“编译”选项卡上,其他IDE可能将其设置在类似的地方)。Nant脚本有一个
元素作为
的允许子元素(它也有一个
nowarn
属性,但不推荐使用)

我会避免全局禁用,毕竟,做一些触发CS0444的事情通常是个坏主意。在上面的例子中,你有一个很好的理由这样做(你需要的是紧凑型版本没有给你的功能),并且知道这就是你正在做的,但是如果你在其他地方意外地这样做了,并且你抑制了警告,你将一点也不明智


编辑:就这一点而言,我有一个政策,我从来没有禁用警告,至少没有一个简短的评论,为什么。未注释的禁用警告可能意味着“我在这里做了一些愚蠢的事情,然后禁用了警告,而不是修复了它”,注释可以清楚地表明情况并非如此,并且不需要任何修复。

您的示例中注释了以下数字:

#pragma warning disable // 0444
呃,不要:

#pragma warning disable 444
要全局禁用它,请在编译器中使用
/nowarn:444
(逗号分隔其他要禁用的警告)。如果使用IDE,可能会在项目属性中的某个地方设置警告以禁用(Visual Studio将其设置在“构建”选项卡上,SharpDevelop将其设置在“编译”选项卡上,其他IDE可能将其设置在类似的地方)。Nant脚本有一个
元素作为
的允许子元素(它也有一个
nowarn
属性,但不推荐使用)

我会避免全局禁用,毕竟,做一些触发CS0444的事情通常是个坏主意。在上面的例子中,你有一个很好的理由这样做(你需要的是紧凑型版本没有给你的功能),并且知道这就是你正在做的,但是如果你在其他地方意外地这样做了,并且你抑制了警告,你将一点也不明智


编辑:就这一点而言,我有一个政策,我从来没有禁用警告,至少没有一个简短的评论,为什么。未注释的禁用警告可能意味着“我在这里做了一些愚蠢的事情,然后禁用了警告而不是修复了它”,注释可以清楚地表明情况并非如此,没有什么需要修复的。

您能展示一下您是如何尝试使用
#pragma warning disable
?我怀疑您需要在使用属性的站点而不是声明属性的站点禁用警告。有趣。看起来他们删除了VS2010中的警告。至少文档中没有将其包含在错误/警告列表中。@All:请参阅我的编辑,我已发布了如何使用该属性。您需要在使用该属性的任何位置禁用该属性。可能最简单的方法是全局禁用警告。不管怎么说,它没有那么有用。你能展示一下你是如何尝试使用
#pragma warning disable
?我想你需要在使用属性的站点而不是声明属性的站点禁用警告。有趣。看起来他们删除了VS2010中的警告。至少文档中没有将其包含在错误/警告列表中。@All:请参阅我的编辑,我已发布了如何使用该属性。您需要在使用该属性的任何位置禁用该属性。可能最简单的方法是全局禁用警告。不管怎么说,它都没什么用处。Yes number是自动注释掉的,有或没有,我有警告,当没有指定警告号时,它将禁用所有警告,这就是为什么我不理解为什么我可以忽略它;)。Yes number是自动注释掉的,带或不带,我有警告,当不指定警告号时,它将禁用所有警告,这就是为什么我不理解为什么我可以忽略它;)。