私はVS2008を使用しており、可能であればプロパティのカスタム属性に基づいてコンパイル時の警告/エラーを作成したいと考えています。 MyClassのは、インターフェイスを実装する必要がありカスタムコンパイル時の警告を生成するC#
[MyAttribute (typeof(MyClass)]
:
は2例現在の関心は私があります。
public MyAttribute (Type MyClassType)
{
System.Diagnostics.Debug.Assert(typeof(MyInterface).IsAssignableFrom(MyClassType),
"Editor must implement interface: " + typeof(MyInterface).Name);
}
私に興味後者の場合、私が持っているところされています。現在、私は、しかし、これはそれが簡単に起因するスタックトレースの性質のために、追跡することはありません、属性のコンストラクタでこれを主張しますタイプがインタフェースで実装されている場合、別の属性が存在しない場合は警告が表示されます。
I.E.もし(MyClass.Implements(SomeInterface)& &!)(SomeAttibuteが存在する)
[MyAttribute(typeof(MyClass)]
// Comment next line to generate warning
[Foo ("Bar")]
感謝を{警告を生成します}!
興味深い質問を行う方法を説明しましたが、私は興味があります。 +1 –
にも興味があります。 –
http://stackoverflow.com/questions/154109/custom-compiler-warnings –