在某些文档中,我看到一些编写的方法没有声明其类型(例如void,string,int等)。像这样:
public ActorRecord()
{
ActorMovies = new List<MovieActorRecord>();
}
或
private readonly ITaxonomyService _taxonomyService;
private readonly IContentManager _contentManager;
public MovieFeatureEventHandler(ITaxonomyService taxonomyService, IContentManager contentManager)
{
_taxonomyService = taxonomyService;
_contentManager = contentManager;
}
这些方法的作用是什么。 什么是|之间的差异public ActorRecord()和public void / string ActorRecord()| ?
答案 0 :(得分:4)
您可能已经注意到这些方法的名称与它们所在的类(或结构)完全相同。
他们被称为constructors。
问:public ActorRecord()
和公众void ActorRecord()
之间的差异是什么?
答:在class ActorRecord {}
内,第一个是构造函数,第二个是语法错误。
答案 1 :(得分:1)
问题中的方法称为构造函数。当您创建对象的新实例时,将调用构造函数方法中的代码以“设置”相关对象。
例如
Public Class Thing
{
private int _amount;
public Thing()
{
_amount = 5;
}
}
如果我拨打此代码:
var thing = new Thing();
然后a将获得一个_Tount变量为'5'的新东西
如果添加空隙,它将成为常规方法,并像其他方法一样调用:
thing.Thing()