我正在研究J Galloway的"Professional ASP.NET MVC 3"教程.在本教程中,Jon向我们展示了如何构建MVC音乐商店.
我正处于创建CS类的部分,首先使用EF代码对数据进行建模.
我书中的所有例子都public virtual int property {get; set; }没有解释.虚拟这一术语无处不在.
在网络的其他地方,我还没有看到虚拟术语用于任何类型的一致性.
有人可以向我解释一下:
提前谢谢了
我有这样的域类:
public class DomainClass
{
public virtual string name{get;set;}
public virtual IList<Note> Notes{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我该如何从中删除项目IList<Note>?如果它是一个List我可以做到,但它必须是一个,IList因为我使用Nhibernate作为我的持久层.
理想情况下,我想在我的域类中使用这样的方法:
public virtual void RemoveNote(int id)
{
//remove the note from the list here
List<Note> notes = (List<Note>)Notes
notes.RemoveAll(delegate (Note note)
{
return (note.Id = id)
});
}
Run Code Online (Sandbox Code Playgroud)
但我不能把它IList作为一个List.这周围有更优雅的方式吗?
虚拟化在C++和c#中有何不同?基本上我想知道Vtable在C#和c ++中表示的方式有什么不同吗?编译器在C#和c ++中创建V表的方式也有区别吗?
基本上,面试官想知道在C#和c ++的情况下,虚函数的编译器行为如何不同.
我已经回答了这个问题,提到VTABLE可能没有区别,期望c#中没有Virtual Destructor.