.NETで文書化されていないAPI /フレームワークを処理する方法[閉まっている]
-
03-07-2019 - |
質問
仕事のために、私は外部の会社のAPIでコーディングして、独自のデータベースソリューションを処理する必要があります。残念ながら、彼らが提供するドキュメントは適切なAPIドキュメントよりもサンプルガイドであるため、エラーコード、メソッドの戻り値、例外などの細かい点については非常に軽微です。
たとえば、クラスには.GetErrorCode()メソッドがありますが、どの番号がどのエラーと一致するかを文書化していないため、これらのエラー番号の意味がわかりません。多くの場合、メソッドはオブジェクトを返しますが、実際に返されるオブジェクトのタイプのドキュメントはありません。私は彼らに適切な文書を繰り返し求めましたが、彼らは上記のような詳細は適切な秘密だと考えているようです。だから、限られたドキュメントや場合によっては存在しないドキュメントを回避できるツールや方法はありますか。
Visual Studo 2005を使用しており、.Netの下でC#でコーディングしていることに注意してください。
そして、誰かが「APIを使用しないでください」と答える前に、私はしなければなりません、それは仕事のためです。
解決
厄介なシナリオ。私はそれを提案するのは嫌いですが、多分 reflector は難読化されていなければあなたの友達です。いくつかのIPの問題があるかもしれませんが、この場合、それを逆にすることはAPIが何であるかを見つける唯一の実行可能な方法のようです。ただし、(。GetErrorCode()などのメソッドから)これはP / Invokeのシムであると思われます。この場合、リフレクターでも多くの外部呼び出しが表示されます...
私が言える他の主なことは、あなたがそれをどのように使用しようとしているのかをカバーするユニットテストのたくさんを書くことです。早い。
他のヒント
コードサンプルを入手できない、または元の開発者と話せない場合、通常は Reflector で基礎となるコードを確認します。それは遅くて非効率的ですが、時にはそれだけでできることもあります。
状況によって異なります。 APIにお金を払っている場合は、APIの使用方法のより良いドキュメントを求めて会社に圧力をかけ続ける必要があります。
それでもうまくいかない場合は、開発中に独自のドキュメントを作成します。ノートブック、個人のWiki( screwturn wiki を思い浮かべてください)、または何らかの電子ドキュメンテーション。他の人が言及したように、Reflectorを使用してソースに到達することができます(難読化されていない場合)。
独自のドキュメントを作成することはあなたが探しているものではないかもしれませんが、実際のドキュメントを取得できない場合は、少なくとも何かを学んでいくうちに作成してください。 APIを使用してビルドされたコードを維持しようとしているときに、将来的には。
頭に浮かぶ最高のツールには、電話と電子メールが含まれます。役に立つ情報を提供するまで、あそこの人々を盗聴し続けることができることを願っています...:(
Reflector を使用してソースコードを表示します。 GetErrorCodeメッセージのEnumを表示する必要があります。
ちなみに、リフレクターは宇宙史上最大のプログラムです。