DSL:إنشاء رسم بياني جديد في التعليمات البرمجية المخصصة

StackOverflow https://stackoverflow.com/questions/153309

  •  03-07-2019
  •  | 
  •  

سؤال

أنا أستخدم DSL أدوات Visual Studio 2005.

لدي DSL حيث في بعض نقطة كنت ترغب في إنشاء مخطط جديد باستخدام رمز مخصص.

حتى الآن كنت قادرا على إنشاء مخطط جديد عن طريق الكتابة الحالية بالفعل فتح الرسم البياني.رمز يلي:

FEGeneratorDiagram diag = new FEGeneratorDiagram(ThisElem.Store);
diag.Associate(ThisElem);
FEGeneratorDiagram currentDiag = (FEGeneratorDiagram)ThisElem.Store.ElementDirectory.FindElements<FEGeneratorDiagram>(false)[0];
currentDiag = diag;

ولكن ما أود حقا أن تفعل ،

إنشاء جديد DSL الوثيقة مع مثيل جديد FEGeneratorDiagram ومن ثم الحفاظ على منطق إضافة عناصر تحديد خصائص.

أي مساعدة ؟

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

المحلول

//Create a Store
Type[] modelTypes = new Type[] { typeof(CoreDesignSurfaceDomainModel), typeof(FEGeneratorDomainModel) };
Store store = new Store(modelTypes);
RootElement root;
using (Transaction t =
store.TransactionManager.BeginTransaction("Create Elements"))
{
    root = FEGeneratorSerializationHelper.Instance.LoadModel(store, diagramPath, null, null);
    t.Commit();
}
//Do whatever custom things you want!

SerializationResult result = new SerializationResult();
//Save the file
FEGeneratorSerializationHelper.Instance.SaveModel(result, root, diagramPath);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top