属性本来就不能有参数的阿,这个你想一个实际的例子就能明白了
如果你需要传参数,应该这样:public object this[int index] {get{} set{}}

解决方案 »

  1.   

    public object this[int Index]{
        .....
    }
    这样不是很好吗?
    关键要掌握C#的特性啊,而不是一味地抱怨语言的不好
    该怎么样就怎么样吧
      

  2.   

    楼主说的属性访问器Item确实就是由两个方法组成,看网上介绍说的编译过的中间代码就是两个方法。由get和set构成的。确实是这样子的。但也不能说它不好。本来属性也应该是一段代码吗。还能说是另外的一种特殊东西吗。    楼主如何想实现你要的那个带(int Index),我觉得可以改用this[int Index]的索引器方法。
      

  3.   

    可能我举了例子有点不合适。让大家有点误解了。
    就Item属性来说,用索引器当然是首选解决方法,用方法也完全合适。我只是想看看除了索引器外,直接用属性行不行。
    以前我用VB,属性可以带参数,有时是很方便的。
    当然,任何属性过程都可以直接写方法代替。
    但相信没有谁原意在类图中设计为属性的东西,在代码体现出来的是方法函数。
      

  4.   

    C#是不支持带参数的属性的,VB.net支持。其实两种语言还是有些区别,自己看着办吧。
    我用C#的最大理由就是它带XML自动注释的功能:)
      

  5.   

    基类定义为: System.Collections.CollectionBasepublic Object this[int Index] 
    {
    get 
    {
    return (Object)List[Index];
    }
    set 
    {
    List[Index] = value;
    }
    }
    这样写出来的是属性啊。。不明白楼主。
      

  6.   

    我也认为C#确实不像DELPHI那样可以支持索引器,它只支持this[index]样式的索引,不支持this.Texts[i], this.Items[i]之类的索引,需要自己建立C#类。