2009-06-13 5 views
1

メソッドをターゲットとする属性が機能していません。コードは以下の通りです。何が問題なの?メソッドでContextAttributeを使用する

using System; 
namespace AttributeProgram 
{ 

    class Program:ContextBoundObject 
    { 
     [TestAttribute("Hello")] 
     public void Print() 
     { 
      Console.WriteLine("How are you?"); 
     } 
     static void Main(string[] args) 
     { 
      Program obj = new Program(); 
      obj.Print(); 
     } 
    } 

    [AttributeUsage(AttributeTargets.Method)] 
    class TestAttribute : System.Runtime.Remoting.Contexts.ContextAttribute 
    { 
     public TestAttribute(string Name) : base("Test") 
     { 
      Console.WriteLine(Name); 
     } 
    } 
} 

答えて

4

あなたは、ドキュメントごとに、クラスのみに適用することができるContextAttributeから継承しているので:

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[AttributeUsageAttribute(AttributeTargets.Class)] 
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)] 
[SecurityPermissionAttribute(SecurityAction.InheritanceDemand, Flags = SecurityPermissionFlag.Infrastructure)] 
public class ContextAttribute : Attribute, 
    IContextAttribute, IContextProperty 
関連する問題