一般来说, 如果要给控件增加一个特殊事件,比如textbox增加一个textchange 事件,
我会写一个控件类技能textbox基类,
然后写委托,写事件 来添加触发情况,  但是, 如何给一个字符串增加一个 当值改变就触发一个事件呢?
   假设 string test="ddd"; 当我对test重新赋值的时候, 就会触发一个事件.  
    我的想法是 写一个继承自string 的类... 但是无法实现.

解决方案 »

  1.   

    后台改变string,还需要触发事件? 直接改变后加事件不就行了?
      

  2.   

    string 类不能继承 
    你自己写个类 然后重写= 重写tostring 在赋值方法中如果值变了就引发事件 
      

  3.   

    做个属性来判断test是否改变把.
      

  4.   

    同意
    如果有需要监控一个字符串是否改变的需要
    那么这个字符串至少应该是类的一个字段
    你把这个字段设为private,然后用属性来访问
    在set中就可以监控了
      

  5.   

    额 
    你在实际应用中可以将值赋给textbox 将其设为隐藏
    然后使用textchange 就是了~~
      

  6.   

    seter 的时候 做处理  可以加订阅事件
      

  7.   

    订阅者模式
    就是在 set  的时候 调用方法
      

  8.   

    我们倒是可以给属性加上监控
    参见:
    INotifyPropertyChanged 接口的意义和实现但是对string变量本身我到没啥想法,除非你能把那个=号赋值 这个运算符给重载了或者把string类本身给改写了可惜啊这两个都做不到
      

  9.   

    我没说别人给我指点迷津没有意义。 我这种想法其实没有实际的使用意义,
    说vrhero的话没意义, 只是一种延伸。
    像vrhero的话,他已经知道我已经知道我这个想法是荒谬的, 为什么还要指出我的想法是荒谬的?
     这不是没有意义的行为么?但是他为什么会指出来呢, 因为人总忍不住要做没意义的事情。
      假如你喜欢一个女人, 你知道坚持下去会是失败, 然后你的朋友跟你说:放弃吧。你会失败的。
      但是你还是会忍不住去追那个女人, 你朋友已经知道你的想法了还是会忍不住说:放弃吧。 
     人总会想做傻事, 不撞南墙不回头。
      

  10.   

    //像vrhero的话,他已经知道我已经知道我这个想法是荒谬的, 为什么还要指出我的想法是荒谬的?狡辩啊
    需求是有意义的,是思路错了而已
    即使他已经知道你已经知道你这个想法是荒谬的
    但是指出荒谬在哪里,还是有意义的,因为帖子是给所有人看的,不是所有的人都认为没有意义,有的人有可能被你误导~
      

  11.   

    唉...我都懒得回了,VMM还这么激动...其实我要指出楼主的想法是荒谬的只需要两个字“荒谬”就够了...只所以比喻为“给砖头装警报器”,是让楼主想一想这个比喻的意思是什么,当然楼主懒得思考或不思考,所以我在22楼又解释了一遍...现在的年轻人大多懒得动脑子思考,VMM你也别较真了...算了吧,让他们执着去吧...
      

  12.   

    vmm 的话, 有道理, 我无话可说。
     倒是你,说句不尊敬的话,你倚老卖老。你又是用什么 分析软件分析出我们年轻人懒得思考?僵化的思想。
      

  13.   

    v的话实际没错的,string,int这些默认数据类型,都是靠场景体现的,没有场景他就没意义,他就只是砖头一旦有场景了,他们才有意义,他们是场景中的一个属性,所以我们才说对于属性是可以监控的,对于字段或者数据类型本身并没有监控必要。如果lz需要一个监控数据类型本身变化的语言,lz可以自己定制DSL,而DSL这个词本身也表明了上面的论点
    domain specific language (DSL)特定领域语言(呵呵,看见了把,这里的特定领域就是指特定的场景)