2009-06-13 19 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 
相關問題