using System;
using System.ComponentModel;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;namespace Samples.AspNet.CS.Controls
{
    [
    AspNetHostingPermission(SecurityAction.Demand,
        Level = AspNetHostingPermissionLevel.Minimal),
    AspNetHostingPermission(SecurityAction.InheritanceDemand, 
        Level=AspNetHostingPermissionLevel.Minimal),
    DefaultProperty("Text"),
    ToolboxData("<{0}:WelcomeLabel runat=\"server\"> </{0}:WelcomeLabel>")
    ]
    public class WelcomeLabel : WebControl
    {
        [
        Bindable(true),
        Category("Appearance"),
        DefaultValue(""),
        Description("The welcome message text."),
        Localizable(true)
        ]
        public virtual string Text
        {
            get
            {
                string s = (string)ViewState["Text"];
                return (s == null) ? String.Empty : s;
            }
            set
            {
                ViewState["Text"] = value;
            }
        }

解决方案 »

  1.   

    属性,注意Attribute 与 property的区别
      

  2.   

    特征using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    using System.Reflection; namespace WindowsApplication166
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();            foreach (MethodInfo MI in this.GetType().GetMethods())
                    foreach (Attribute A in MI.GetCustomAttributes(false))
                        if (A is XXX)
                            MessageBox.Show("方法 " + MI.Name + " 是XXX特征的");
            }        [AttributeUsage(AttributeTargets.Method)]   
            class XXX : Attribute
            {
            }        [XXX]
            public void A()
            {
            }        public void B()
            {
            }
        }
    }