public OutLookBanCategory this(int Index) {
   get{
     return yourcate;
   }
}

解决方案 »

  1.   

    但他是Item 属性 呀
    是用this 来代替Item 吗??
      

  2.   

    是的,在VB.net里面如果有个Default就可以这样调用:obj[index]
    而在c#里默认的属性都是用this来命名,所以....
    还有就是上面给出的有个地方错了,应该是:this[int index]你看下面一个例子:
    (vb)
    Imports SystemClass Default1
        Public Shared Sub Main()
            Dim MyDefault As Default1 = new Default1(4)
            Dim i As Integer = 0
            For i=0 To 4
                MyDefault(i) = "My Name " & i
            Next
            For i=0 To 4
                Console.WriteLine(MyDefault.Name(i))
            Next
            Console.WriteLine(GetType(Default1).GetDefaultMembers()(0))
        End Sub
        private iname As String()
        Default Public Property Name(Byval pos As Integer) As String
            Get
                return iname(pos)
            End Get
            Set(Byval Value As String)
                iname(pos) = Value
            End Set
        End Property
        Protected Sub New(Byval capa As Integer)
            MyBase.New()
            iname = new String(capa){}
        End Sub
    End Class(C#)
    using System;class Default1{
        public static void Main(){
            Default1 MyDefault = new Default1(5);
    for (int i = 0; i < 5; i++) {
                MyDefault[i] = "My Name " + i;
    }
    for (int i = 0; i < 5; i++) {
                Console.WriteLine(MyDefault[i]);
    }
            Console.WriteLine(typeof(Default1).GetDefaultMembers()[0]);
        }
        private String[] iname;
        public String this[int pos] {
            get {
                return iname[pos];
    }
            set {
                iname[pos] = value;
    }
    }
        Default1(int capa) {
            iname = new String[capa];
    }
    }
    如果还有问题,请发消息给我。