2012-01-21 17 views
9

के साथ सी # घटनाएं बनाना मैंने वीएस में यूएमएल मॉडलिंग के साथ खेलना शुरू किया। मैंने कुछ वर्गों के साथ आरेख बनाने की कोशिश की, उन्हें कनेक्ट करें और मॉडल से कुछ कोड जेनरेट करें - फ़ीचर पैक स्थापित करने के बाद, सब ठीक काम करने लगता है।विजुअल स्टूडियो मॉडलिंग प्रोजेक्ट

हालांकि जो भी मैं याद कर रहा हूं वह घटनाओं को घोषित करने की क्षमता है - जो नेट (और अक्सर डिजाइन के लिए महत्वपूर्ण) में प्रमुख भूमिका निभाता है।

मैं विजुअल स्टूडियो में यूएमएल कक्षा आरेख में घटनाओं की घोषणा कैसे करूं?

संपादित करें:

चीजों को साफ करने के लिए। मैं कुछ समय के लिए विजुअल स्टूडियो में सी # परियोजनाओं में मौजूद क्लास आरेख सुविधा से संबंधित किसी भी चीज़ में रूचि रखता हूं।

यह प्रश्न Modeling Project से संबंधित है, जो विजुअल स्टूडियो 2010 अल्टीमेट में एक नई सुविधा है।

+0

मेरे दिमाग में, यूएमएल में घटनाओं से निपटना संभव नहीं है। मैंने कोशिश की है और कभी नहीं पाया कि कैसे करना है, इतना अच्छा सवाल ... –

उत्तर

2

यूएमएल कार्यान्वयन भाषा अज्ञेयवादी है। U12 में एक भाषा विशिष्ट मुहावरे को परिभाषित करने के लिए सही तरीका stereotype का उपयोग करके है। एक स्टीरियोटाइप यूएमएल मेटाक्लास का एक विशेषज्ञता है। एक profile परिभाषित करें जो क्लास को इवेंट हैंडलर और इवेंट स्टीरियोटाइप में विस्तारित करता है जो संदेश को बढ़ाता है। फिर उन मॉडलों में कक्षाओं के लिए उन रूढ़िवादों को उचित रूप से लागू करें। फिर आप स्टीरियोटाइप में भाषा विशिष्ट मुहावरे कार्यान्वयन विवरण डाल सकते हैं।

+0

इस उत्तर के लिए धन्यवाद। प्रलेखन का अध्ययन करने के 20 और मिनट बाद मुझे अंत में पता चला कि फ़ीचर पैक के साथ प्रदान की गई "घटना" स्टीरियोटाइप के साथ सी # प्रोफ़ाइल है। हालांकि कोड जनरेशन टेम्पलेट्स इस स्टीरियोटाइप के साथ विशेषताओं को पूरी तरह से अनदेखा कर रहे हैं। मैं इसे देखता रहूंगा, इसलिए मैं इसे अभी तक जवाब के रूप में चिह्नित नहीं करूंगा। हालांकि मैं आपको बक्षीस दूंगा (यह अन्यथा समाप्त हो जाएगा)। –

+1

@ Matěj Zábský: मैंने आपके जैसा ही व्यवहार देखा है। मैंने एक बग दायर किया [यहां] (https://connect.microsoft.com/VisualStudio/feedback/details/725112/generate-code-in-vs2010-modeling-project-events-ignored)। यदि आपके पास उस साइट तक पहुंच है, तो कृपया इसे त्वरित ध्यान के लिए वोट दें। – kmote

+0

@kmote नाइस, अपवित्र। –

1

उम्मीद है कि लिंक निम्नलिखित आपकी मदद करेगा।

http://developingfor.net/2007/11/29/visual-studio-2008-class-diagram/

+1

अफसोस की बात है, इससे मदद नहीं मिलती है। क्लास आरेख मॉडलिंग परियोजना से कुछ और है। कक्षा आरेख सभी सी # परियोजनाओं में उपलब्ध वर्ग डिजाइन उपकरण सरलीकृत है।मॉडलिंग प्रोजेक्ट विजुअल स्टूडियो 2010 अल्टीमेट (इसलिए ऑनलाइन सामग्री की कमी) में एक नई सुविधा है और कक्षा, प्रक्रिया, अनुक्रम, परत और अन्य आरेखों के साथ एक पूर्ण उड़ा यूएमएल आर्किटेक्चर डिजाइनर है। –

-1

आप ऑब्जर्वर \ घटना पैटर्न सहित कोशिश करनी चाहिए। यहां पर बहुत अच्छी तरह से चर्चा की गई है। http://www.cumps.be/nl/blog/read/design-patterns-observer-event-pattern

+0

यह मेरी मदद कैसे करता है? घटना की आवश्यकता है (घटना * पर्यवेक्षक पैटर्न का कार्यान्वयन है)। मुझे घटनाओं का उपयोग करने से बचने के लिए, यूएमएल में घटना का प्रतिनिधित्व करने का कोई तरीका नहीं ढूंढना होगा। –

+0

मुझे नहीं लगता कि हमारे पास यूएमएल आरेख में घटनाओं का प्रतिनिधित्व करने का सीधा तरीका है। – Dinesh

0

उपरोक्त में से कोई भी मेरे लिए उपयोगी नहीं था। यहाँ सी # भाषा अवधारणाओं ऐसे सक्षम करें:

  • सुनिश्चित करें कि आप पहले से ही एक मॉडलिंग प्रोजेक्ट है या एक
  • दृश्य स्टूडियो का चयन वास्तुकला में बना सकते हैं -> विंडोज -> यूएमएल मॉडल एक्सप्लोरर
  • अपने मॉडलिंग प्रोजेक्ट और खुले का चयन करें गुण पैनल
  • "प्रोफाइल" के तहत "सी # प्रोफ़ाइल" चेकबॉक्स मारा गया।

एक वर्ग रेखाचित्र में ईवेंट जोड़ने के लिए:

  • एक वर्ग पर एक नई विशेषता बनाएँ।
  • गुण पैनल में लकीर के फकीर

में जाँच "सी # घटना" दुर्भाग्य से वहाँ विशेषता पर कोई दृश्य संकेत एक घटना के रूप में चिह्नित है।

संबंधित मुद्दे