我正在使用 npm 包进行 Typescript 项目。我想向 Express.Session 接口添加一个属性。
示例类:
class User {
name: string;
email: string;
password: string;
}
export = User;
Run Code Online (Sandbox Code Playgroud)
接口定义的新 d.ts 文件(不想编辑 express-session.d.ts):
declare namespace Express {
interface Session {
user: User
}
}
Run Code Online (Sandbox Code Playgroud)
应用程序
import User = require('./User');
function (req: express.Request, res: express.Response) {
req.session.user //I want to use it like this.
}
Run Code Online (Sandbox Code Playgroud)
问题是,在 de d.ts 文件中不知道该用户。但是既不需要也不需要导入用户文件来解决这个问题。
如何将我自己的类添加到会话界面?
是否可以声明一个类具有某些功能而不实现它们?
我需要这个,因为我创建了一个类,然后将其传递给一个 js 框架,该框架添加了几个函数。我也希望能够调用这些函数,而无需重新实现它们、重定向或转换或任何其他操作。
例子:
//example class
class AppComponent {
constructor() {}
}
//create class
var comp: AppComponent = new AppComponent();
//hand over to framework
fw.define("Component", comp);
//now I want to be able to call the added functions such as:
comp.setModel(/*some model*/);
Run Code Online (Sandbox Code Playgroud) 我正在开发一个需要修改屏幕上已有内容的程序。所以我只有一个ID2D1Bitmap我使用创建的pRenderTarget->CopyFromRenderTarget。
我想做的是将效果应用于该位图。效果只会返回ID2D1Image,但我需要有一个ID2D1Bitmap.
有没有办法做到这一点?
编辑1:
ID2D1Bitmap* myBitmap //the bitmap I want to apply the effect to
ID2D1Effect* effect = NULL;
pDeviceContext->CreateEffect(CLSID_D2D1Saturation, &effect);
effect->SetValue(D2D1_SATURATION_PROP_SATURATION, 0.0f);
effect->SetInput(0, myBitmap);
ID2D1Image* pImg = NULL;
effect->GetOutput(&pImg);
Run Code Online (Sandbox Code Playgroud)
如果我投射此图像,getPixelSize() 会引发访问冲突。
我想从基类返回"this"作为泛型类型参数.
class ExampleClass<T> {
public returnThis = (): T => {
return <T>this;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我不能转换为T因为typescript不知道T派生自ExampleClass.
但是有办法做到这一点吗?