سؤال

في .NET هل من الممكن توليد مخططات الفصل (.CD) برمجيا (C #)؟ إذا كان الأمر كذلك كيف؟

PD: من الواضح أنني لا أطلب اتجاهات كيفية توليد هذا باستخدام IDE. أعلم أنه يمكنني سحب وإسقاط الفصول إلى عنصر ClassDiagram.

هل كانت مفيدة؟

المحلول

أنا فقط فتح ملف .CD باستخدام المفكرة، إنه عادي XML... لا ينبغي أن أكون من الصعب توليدها برمجيا.

نصائح أخرى

حدد ملفات .cs التي تريد رسم تخطيطي للفئة، وحدد عرض مخطط الفصل، وسيتم إنشاء ملف .cd وعرضه.

نعم، يمكنك ببساطة فتح Visual Studio والنقر بزر الماوس الأيمن على ملف .cs الخاص بك أو مشروعك وحدد مخطط الفصل. يتم إنشاء .CD تلقائيا.

أعتذر عن الرد على النصف، ولكن لمعرفة ما إذا كان هذا في الواقع سيستغرق وقتا طويلا.

إذا نظرت إلى تنسيق XML، فهو خلطا إلى حد ما، خاصة إدخال التجزئة، والذي إذا قمت بحذفه، فستحذف IDE الإدخال (حاولت ذلك كثيرا).

في الواقع أتمتة ذلك، ستحتاج إلى استخدام واجهات برمجة التطبيقات الأتمتة VS، Envdte. واجهات برمجة التطبيقات هي جريمة جميلة، وتعميم أيضا. لم أتمكن من العثور على فئة محددة أو أي شيء يتعامل مع مخططات الفصل في البحث عن الوثائق.

إذا كان من المهم بما فيه الكفاية بالنسبة لك لقضاء بضع ساعات، فستبدأ بإنشاء واحدة يدويا حتى تتمكن من تفتيشها باستخدام API الأتمتة. باستخدام كائن Envdte COM (إما CORREATED أو المقدمة في ماكرو VS) استخدم DTE.Solution.Open لفتح الحل الخاص بك. ثم استخدم DTE.Solution.Projects للعثور على مشروعك مع مخطط الفصل، ومشروع "project.protems للعثور على ملفات مخطط الفصل.

من هناك، أود أولا أن أرى معرفة ما إذا كانت الملكية النوعية الموجودة على جهاز العرض أشارت إلى شيء خاص، ثم قم بتهمة خصائص أخرى وتعكسها عبر خاصية كائن ProjectItem لمعرفة ما إذا كنت تحصل على شيء خاص.

إذا كنت بحاجة فقط إلى توليدها مرة واحدة، فتلتظنا بإلقاء نظرة على خاصية DTE.comMands للحصول على قائمة بالأوامر المتاحة. يجب أن يكون الأمر الذي تم استدعاءه بالنقر بزر الماوس الأيمن في القائمة في مكان ما. ثم يمكنك استخدام DTE.Windows.Items (الثوانts.vswindowkindsolutionExplorer) .Object كما reiheirarchy للحصول على نافذة حلول المستكشف والكمال مع UIHEIRARCHY و uiheirarchyitem لتحديد الملفات ثم استدعاء الأمر.

آسف لا أستطيع تقديم مثال كامل، ولكن لأنني لا أملك رمز المشي في الشجرة مفيدا، فإنه سيستغرق ساعتين.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top