你确定.Net的类库里面真的没有这个东西啊?
我觉得这个东西是很必要的,微软不应该忽略的啊?

解决方案 »

  1.   

    属性封装了get和set方法,但它本身不是方法啊
      

  2.   

    这个时候就要用反射了
    你可以把这个对象转化成Object存放···在不知道类型的前提 通过反射得到成员函数和属性
      

  3.   

    我的理解:
        委托是一种数据结构,它引用静态方法或引用类实例及该类的实例方法,是类:虽然封装了函数指针。。
        属性是语言支持的快捷输入,get、set会转化为对应两个方法。
        逻辑上delegate只能一个函数指针,你有两个方法,也搞不定的。(MulticastDelegate 类可以)
        关键是语法上不支持没办法解释属性为方法,因为不支持。
            
      

  4.   

    但是我在外面是无法知道这个对象字段的类型的,而且也不一定给同一种类型的对象使用。
    如果是泛型委托添加到例如ARRAYLIST的,我可以在外面根据其他的条件还原成泛型委托,然后进行操作
      

  5.   

    记得反射可以获得属性对应的get/set函数...
    LZ可以试试.
      

  6.   

    .NET里面没有属性委托,考虑使用匿名方法。例如:
        public delegate string MyCallback();    public class MyClass {
            public string Name {
                get { return "cuike519"; }
                set {// do nothing}
                }
            }        public string GetProperty(MyCallback callback) {
                return callback();
            }
        }    //client code 
        MyClass cls = new MyClass();
        string name = cls.GetProperty(delegate() { return cls.Name; });