Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript错误:类型类上定义为private的属性在类型接口上定义为public_Typescript - Fatal编程技术网

Typescript错误:类型类上定义为private的属性在类型接口上定义为public

Typescript错误:类型类上定义为private的属性在类型接口上定义为public,typescript,Typescript,我刚刚在TypeScript 0.9.5中启动了一个新项目,以下代码引发了一个错误: 类服务声明了IService,但未实现它。在类型服务上定义为私有的属性“getUserInfo”在类型iSeries设备上定义为公共的属性 module App.Interfaces { export interface IService { getUserInfo(): void; } } module App.Services { export cl

我刚刚在TypeScript 0.9.5中启动了一个新项目,以下代码引发了一个错误:

类服务声明了IService,但未实现它。在类型服务上定义为私有的属性“getUserInfo”在类型iSeries设备上定义为公共的属性

 module App.Interfaces {

     export interface IService {
        getUserInfo(): void;

    }   
}

module App.Services {

    export class Service implements App.Interfaces.IService {

        private getUserInfo(): void { }

    }   
}
只要我使用了TypeScript,我就知道接口不能有访问修饰符!有什么好处


您不能在
服务
类的
getUserInfo
函数上使用
私有
访问修饰符,因为它在接口
iSeries设备
上声明

如果类是
iSeries设备
,则需要公开声明接口的所有函数/属性

module App.Services {

    export class Service implements App.Interfaces.IService {

        /* private <= remove */ getUserInfo(): void { }

    }   
}
模块应用程序服务{
导出类服务实现App.Interfaces.IService{

/*私人制作是公开的是显而易见的解决方案。很抱歉,我没有澄清我只是不理解为什么会这样。然而,在验证了C#中的相同行为后,我意识到这只是我以前从未遇到过的细节之一,并且觉得很奇怪。