現在、typescript プロジェクトでいくつかのプロトコル バッファ変換を実装しています。ProtoBuilder に読み込まれた proto ファイルを取得し ( protobufjs.d.ts の typescript 定義ファイルを使用)、ビルダーからProtoBufを返しました。
pb という名前の変数に ProtoBuf オブジェクトを格納した後でブレークポイントを設定すると、コンソールで pb.decode(buffer) を呼び出すことができ、機能します。しかし、TypeScript はこの構文が好きではありません。
次のようなことを試すなど、多くの突っ込んだり突っ込んだりした後:
pb["decode"](buffer)
(これにより、エラー TS2349 型に呼び出しシグネチャがない式を呼び出すことはできません) が発生します。
コードのような TypeScript コンパイラをまだ取得できません。
TypeScript ProtoBuf オブジェクトから MetaMessage オブジェクト内に埋め込まれたデコード関数に到達するにはどうすればよいですか?
問題があれば、私は Visual Studio 2015 でこれを行っています。
編集:次を使用して問題を回避できます:
var decoder: any = pb["decode"];
decoder(buffer);
しかし、もしあれば、よりエレガントなソリューションを好むでしょう。