类级别是否有Conditional属性?

Ant*_*y D 11 .net c# debugging

我想在类上使用条件属性,或者更重要的是,是否存在可以产生这种效果的东西?基本上我不希望类在调试模式下存在.我也不想在#if DEBUG指令中包装每个调用.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace NameSpace
{
    [Conditional("Debug")]
    public class ClassName
    {

        public ClassName()
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 11

不,没有.条件属性不会使它们的目标自行消失 - 它们只会使编译器省略目标的用户.

Eric Lippert 今天发表了一篇关于此类事情的文章.阅读它,看看它是否对你更有意义.

如果你真的需要在发布模式中省略类本身,那么使用预处理器指令 - 但是你也必须为所有调用者做同样的事情.无论如何,它有什么危害才能让班级处于发布模式?

这实际上可能是一个不同项目中的一个类吗?如果是这样,那么您可以将条件属性应用于所有方法,然后在发布模式下不需要该类型,因此您可以避免运送程序集.