日期:2014-05-20  浏览次数:20827 次

100分的简单问题:关于Attribute能否支持事件?

如下面一个例子:

class   a
{
      private   String   m_name;

      [MyAttribute]
      public   String   Name{
          get{
                    reutrn   m_name;
                }
          set{
                  m_name   =   value;
                }
}

当Name   被set   时(即程序执行下面代码时)
m_name   =   value
能否通过   "MyAttribute "关键字得知此事件发生?

特急,先谢了!

------解决方案--------------------
你可以修改set{
m_name = value;
}

改为:
set
{
m_name=value;
你的方法();
}
------解决方案--------------------
顶楼上的
------解决方案--------------------
搞不明白你为什么和Attribute联系一起
可以用委托事件实现你的功能
public delegate void SetName();
public event SetName OnSetName;
void onSetName()
{
if(OnSetName!=null)
{
OnSetName();
}
}

[MyAttribute]
public String Name{
get{
reutrn m_name;
}
set{
m_name = value;
//触发事件
onSetName();
}
}
------解决方案--------------------
可以用delegate或者把你的方法加到set中