2011-10-02 23 views

Trả lời

14

Of course:

public abstract class ClassWithAbstractIndexer 
{ 
    public abstract int this[int index] 
    { 
     get; 
     set; 
    } 
} 
+1

Cảm ơn! Tôi đã thử 'public abstract object this [int index];' sau đó 'public object this [int index] {abstract get; } 'nhưng không ai trong số họ làm việc. Làm thế nào nó được khai báo trong một giao diện? –

+1

"Không ai trong số họ làm việc" nghĩa là gì? – Joe

+1

@ Fire-Dragon-DoL: Xóa 'abstract' khỏi' get' trong lớp dẫn xuất của bạn. –

2

Một ví dụ đơn giản:

public interface ITest 
{ 
    int this[int index] { get; } 
} 

public class Test : ITest 
{ 
    public int this[int index] 
    { 
     get { ... } 
     private set { .... } 
    } 
} 

Một số sự kết hợp của cá nhân/bảo vệ/trừu tượng có thể xảy ra cho getset

+0

Cảm ơn đề xuất của bạn –

0

Bạn có thể khai báo nó như thế này:

internal abstract class Hello 
{ 
    public abstract int Indexer[int index] 
    { 
     get; 
    } 
} 

Sau đó, bạn sẽ có tùy chọn ghi đè chỉ get hoặc ghi đè cả getset.

Các vấn đề liên quan