2011-11-10 10 views
1

カスタム属性を作成したいが、その使用法をインターフェイスのメソッドに制限したい。それはC#で行うことが可能ですか?インターフェイスのメソッドの属性を制限する方法

私はこれをしようとするとき、私はcompilatorエラーを持っているしたいと思い

:私が行うことができるようにしたい

public class SomeClass 
{ 
    [MyAttribute] 
    public void SomeMethod() { ... } 
} 

[MyAttribute] 
public interface IMyInterface { ... } 

をこれだけ:私は私の属性を制限することができ

public interface IMyInterface 
{ 
    [MyAttribute] 
    void SomeMethod(); 
} 

インターフェイスまたはメソッドへのアクセスが可能ですが、同時に両方ではありません。

[AttributeUsage(AttributeTargets.Method)] 
+0

適用したい制限の例を教えてください。 – sll

+0

コードや例はありませんか?あなたの答えを少し踏み外してください。 –

答えて

1

これはできません。 AttributeTargets列挙型を見てください。メソッドに限定することはできますが、のメソッドでは使用できません。

1

番号できません。 MSDNのAttributeTarget enumを確認してください。

関連する問題