错误说system.void无法从c#中使用

时间:2013-05-03 09:37:42

标签: c# asp.net-mvc interface compiler-errors

我有一个界面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Guestbook.Models;

namespace Guestbook.Controllers
{
    public interface IGuestbookRepository
    {
        IList<GuestbookEntry> GetMostRecentEntries();
        GuestbookEntry FindById(int id);
        IList<CommentSummary> GetCommentSummary();
        Void AddEntry(GuestbookEntry entry);
    }
}

,实现类看起来像这样

using System;
using System.Collections.Generic;
using System.Linq;
using Guestbook.Models;

namespace Guestbook.Controllers
{
public class GuestbookRepository : IGuestbookRepository
{
    private readonly GuestbookContext _db = new GuestbookContext();

     public void AddEntry(GuestbookEntry entry)
     {
        entry.DateAdded = DateTime.Now;

        _db.Entries.Add(entry);
        _db.SaveChanges();
     }
}

当我输入编译它时,我得到错误说 System.void不能用于c# - 使用typeof(void)来获取void类型对象。

我到底出了什么问题?有人可以帮助我吗?

2 个答案:

答案 0 :(得分:6)

这是接口声明中的问题:

Void AddEntry(GuestbookEntry entry);

应该是:

void AddEntry(GuestbookEntry entry);

第一个版本引用System.Void类型,不能在C#中使用(根据错误消息)。第二种是编写没有返回值的方法的C#方式。

答案 1 :(得分:3)

Void AddEntry(GuestbookEntry entry);中的案例不正确。 void应为小写。