如何实现接口属性?

时间:2014-06-05 03:42:28

标签: c# .net nullreferenceexception

以下是我的界面:

public interface IBaseService
{
    List<ExceptionPairs> Exceptions { get; set; }
}

另一个接口是继承它:

public interface IClassStudentsService: IBaseService
{

}

我在下面的类中实现了这个接口:

public class CSService : IClassStudentsService
{
    public List<ExceptionPairs> Exceptions
    {
        get;set;
    }
}

我创建了一个CSService对象并尝试访问列表'Exceptions',但收到错误" Object reference not set to an instance of an object.

你能指导一下我需要做什么来实例化它吗?

2 个答案:

答案 0 :(得分:5)

Exceptions是对象的自动属性,因此在访问它之前尚未初始化。

在构造函数中,使用新列表初始化属性:

public class CSService : IClassStudentsService
{
    public CSService() {
         Exceptions = new List<ExceptionPairs>();
    }

    public List<ExceptionPairs> Exceptions { get; set; }
}

答案 1 :(得分:2)

您需要为CSService类添加构造函数:

public CSService()
{
    Exceptions = new List<ExceptionPairs>();
}

在构造函数中,初始化列表。