将属性添加到List的接口

时间:2010-09-21 02:23:34

标签: c# generics list interface properties

编译:

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

这不是,给出错误“接口不能包含字段”

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

&GT;

为什么呢?如何定义接口中列表的属性?

2 个答案:

答案 0 :(得分:4)

这(你的第二个例子) 编译:

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

这不是:

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

检查语法。你可能在那里偷偷意外;吗?

答案 1 :(得分:1)

This doesn't, giving the error "Interfaces cannot contain fields"

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

但这不是字段而是属性,因此编译正常。