3

ライブラリのコード使用例を表示する aspx ページの作成に取り組んでいます。

したがって、基本的には、たとえば次のようにしたいと思います。 説明 ソースコード ボタン出力 (データグリッド内)

表示目的でボタンの後ろから aspx ページにコードをコピー アンド ペーストするのではなく、実行時に実際のソース コードを読み取って表示できるようにできるとよいのではないかと考えました。洗練されていること以外に、表示されるソース コードが最新であることを保証するという追加の利点があります。一方、誰かが変更を加えて aspx ページを新しいコードで更新するのを忘れた場合、コピー アンド ペーストは古くなる可能性があります。

これを行うには 2 つの方法が考えられます: 1) (kludgy) - コード ビハインド ファイルをデプロイします。このファイルは実行時に読み取ることができ、適切な関数コードを解析して表示できます。2) (推奨) 実行時に DLL を逆コンパイルし (リフレクターが行うように)、コードを表示します。

したがって、#1の方法は知っていますが、#2についてはわかりません(可能であれば)。

4

3 に答える 3

5

実行時にコードを逆コンパイルしても、作成したコードとまったく同じコードは得られません。その時点で、それはより解釈になります。

3 番目のオプションは、特定のファイルを取得するために、アプリをコード リポジトリに対して動作させることです。次に、そのファイルの内容をブラウザに表示します。オプション 1 に似ていますが、.cs ファイルをサーバーに直接展開することはありません。

于 2009-03-03T17:45:58.250 に答える
3

IMO さん、実際のソース ファイルを読むのがここでの方法です。サーバーのソース コードを誰もが見られてもかまわないと確信しているのであれば。Reflector のようなものを使用すると、すべてのコメント、おそらくローカル変数が失われ、イテレータ ブロックのようなものが特に奇妙になります。

C# in Depth Web サイトで使用するコード フォーマッタを (実際にはコントロールとして) 持っています。比較的原始的ですが、必要に応じて歓迎します。(試してみたい場合は、サイト自体のページから使用できます。)

于 2009-03-03T17:44:53.243 に答える
0

コメントと元の変数名を保持したい場合、リフレクションは機能しません。コードを解析することは、おそらくこれを行うための最も簡単な方法です。PDB ファイルからデータを抽出するオプションもあるかもしれません。

于 2009-03-03T17:43:10.610 に答える