首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >生成自定义编译时警告C#

生成自定义编译时警告C#
EN

Stack Overflow用户
提问于 2009-09-14 07:32:50
回答 1查看 4.8K关注 0票数 19

我正在使用VS2008,并希望基于属性的自定义属性创建编译时警告/错误(如果可能)。

目前我感兴趣的有两个案例:

  [MyAttribute (typeof(MyClass)]

其中MyClass必须实现一个接口。目前,我在属性的构造函数中断言这一点,但是,由于堆栈跟踪的性质,这并不容易跟踪:

 public MyAttribute (Type MyClassType)
    {
         System.Diagnostics.Debug.Assert(typeof(MyInterface).IsAssignableFrom(MyClassType),
                                         "Editor must implement interface: " + typeof(MyInterface).Name);

    }

我感兴趣的第二种情况是,我在一个属性中定义了一个类型,如果该类型实现了一个接口,那么如果另一个属性不存在,就应该显示一个警告。

即if (MyClass.Implements(SomeInterface) && !Exists(SomeAttibute)) {生成警告}

[MyAttribute(typeof(MyClass)] 
// Comment next line to generate warning
[Foo ("Bar")]

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-14 07:39:15

你可以用PostSharp做到这一点。

我曾经这样做过,并解释了如何做here

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1420143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档