質問

.NETでは、クラス図(.cd)プログラム(C#)を生成することができますか?もしそうならどのように?

PD:もちろん、私はIDEを使用して、これを生成する方法の方向を求めていませんよ。私は、クラス図の項目にクラスをドラッグ&ドロップできることを知っています。

役に立ちましたか?

解決

私はメモ帳を使用して.cdファイルを開いて、それのプレーンなXML に...私はハード、プログラムを生成することではありません。

他のヒント

あなたはクラス図を希望する.csファイルを選択し、ビュークラス図を選択し、.cdファイルが生成され、表示されます。

はい、あなたは単にあなたは.csファイルまたはプロジェクトのいずれかにVisual Studio、右クリックを開き、ビュークラス図を選択します。 .cdが自動的に作成されます。

私は半分の答えをお詫び申し上げますが、これは実際に可能かどうかを確認するためには、かなりの時間がかかります。

は、あなたがXML形式を見れば、それは、かなり不可解だ特にあなたが削除した場合、その後、IDEは、エントリを削除しますハッシュエントリは、(私がその多くを試してみました)。

実際にそれを自動化するには、EnvDTEをVSオートメーションAPIを使用する必要があります。 APIはかなり不可解な、とも一般化しています。私は、ドキュメントに目を通すにクラス図を扱う特定のクラスか何かを見つけることができませんでした。

あなたは上のカップルの時間を過ごすすることは十分に重要だ場合は、

は、あなたがオートメーションAPIでそれを調べることができるように手動で1を作成することから始めます。 EnvDTE COMオブジェクトを使用すると(VSマクロでCoCreatedまたは付属のいずれか)あなたのソリューションを開くためにDTE.Solution.Openを使用しています。そして、クラス図を使用してプロジェクトを見つけることがDTE.Solution.Projectsを使用し、Project.ProjectItemsは、クラス図のファイルを検索します。

はのProjectItemのKindプロパティは、何か特別な指示あればそこから、私が最初に見ることになり、その後、あなたは特別な何かを得るかどうかを確認するために他のプロパティをいじるとのProjectItemのオブジェクトのプロパティをオーバー反映します。

あなたは一度だけ、それを生成する必要がある場合は、

は、その後、使用可能なコマンドの一覧を取得するにはDTE.Commandsプロパティを見てみましょう。メニューを右クリックして起動されるコマンドは、どこかにする必要があります。その後、ソリューションエクスプローラウィンドウを取得し、ファイルを選択し、コマンドを呼び出すためにUIHeirarchyとUIHeirarchyItemをいじるためにUIHeirarchyとしてDTE.Windows.Items(Constants.vsWindowKindSolutionExplorer).Objectを使用することができます。

申し訳ありませんが、私は完全な例を提供することはできませんが、私は便利なツリー歩行コードを持っていないので、それは数時間かかります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top