如何从@angular/cdk/overlays注册自定义位置策略

如何从@angular/cdk/overlays注册自定义位置策略,angular,angular5,angular-material2,angular-cdk,Angular,Angular5,Angular Material2,Angular Cdk,有一个例子: 它使用@angular/materialMdMenu,并使用@angular/cdk/overlays的ConnectedPositionStrategy 让originWithFallbackPosition=ConnectedPositionStrategy.prototype.withFallbackPosition; ConnectedPositionStrategy.prototype.withFallbackPosition=函数(原始位置、覆盖位置){ overla

有一个例子:

它使用@angular/material
MdMenu
,并使用@angular/cdk/overlays的
ConnectedPositionStrategy

让originWithFallbackPosition=ConnectedPositionStrategy.prototype.withFallbackPosition;
ConnectedPositionStrategy.prototype.withFallbackPosition=函数(原始位置、覆盖位置){
overlayPos.overlayX='start';
如果(此.\u首选位置.长度){
归还这个;
}
返回originWithFallbackPosition.apply(这个,参数);
};
但这改变了我想使用继承的原型:

导出类多菜单位置策略扩展了ConnectedPositionStrategy{
带后备位置的公共(originPos:OriginConnectionPosition,overlypos:overlyconnectionposition){
overlayPos.overlayX='start';
如果(此.\u首选位置.长度){
归还这个;
}
返回带回退位置的超级(原始位置、覆盖位置);
} 
} 
但是我如何注册这个类以便在这个菜单中使用呢?我不知道 在API中看不到任何注册此自定义位置策略的方法,并且使用NgModule提供程序不起作用