ServiceBase.Run(new ServiceBase[] { new EngineService() });看不懂这是一种怎样的写法 有什么特别作用没

解决方案 »

  1.   

    ServiceBase.Run接受一个类型为ServiceBase的数组.
    new ServiceBase[] { new EngineService() }创建一个包含一个元素的ServiceBase的数组.
    其中的那个元素就是这个new EngineService();
    很明显EngineService是ServiceBase的一个子类.
    整段代码可以拆成:ServiceBase[] svcBaseArr = new ServiceBase[1];
    svcBaseArr[0] = new EngineService();
    ServiceBase.Run(svcBaseArr);
      

  2.   

             ServiceBase.Run(ServictBase[] ns)//Run方法的参数是ServiceBase类型的数组
    new ServiceBase[] { new EngineService() }//实例化ServiceBase类型的数组,new EngineService()是为ServiceBase类型的数组赋值.