我有一个界面
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类型对象。
我到底出了什么问题?有人可以帮助我吗?
答案 0 :(得分:6)
这是接口声明中的问题:
Void AddEntry(GuestbookEntry entry);
应该是:
void AddEntry(GuestbookEntry entry);
第一个版本引用System.Void
类型,不能在C#中使用(根据错误消息)。第二种是编写没有返回值的方法的C#方式。
答案 1 :(得分:3)
Void AddEntry(GuestbookEntry entry);
中的案例不正确。 void
应为小写。