写入方法没有声明类型

时间:2013-07-02 16:25:46

标签: c# methods

在某些文档中,我看到一些编写的方法没有声明其类型(例如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()| ?

2 个答案:

答案 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()