Добавление свойства в интерфейс, который является списком - PullRequest
0 голосов
/ 21 сентября 2010

Это компилируется:

public interface IBookCatalogueView
{
    Book[] Books 
    { 
        get; 
        set; 
    }
}

Это не так, выдает ошибку «Интерфейсы не могут содержать поля»

public interface IBookCatalogueView
{
    List<Book> Books
    { 
        get;
        set;
    }
}

>

Почему? Как я могу определить свойство, которое является списком в интерфейсе?

Ответы [ 2 ]

4 голосов
/ 21 сентября 2010

This (ваш второй пример) делает компиляцию:

public interface IBookCatalogueView
{
    // Property
    List<Book> Books
    {
        get;
        set;
    }
}

Это не:

public interface IBookCatalogueView
{
    // Field
    List<Book> Books;
}

Проверьте ваш синтаксис. Возможно, вы пробрались туда случайно ;?

1 голос
/ 21 сентября 2010
This doesn't, giving the error "Interfaces cannot contain fields"

public interface IBookCatalogueView 
{ 
    List<Book> Books 
    {  
        get; 
        set; 
    } 
}

Но это не поля, а свойство, и, следовательно, будет компилироваться нормально.

...