2009-11-02 9 views
8

ApplicationSystem.Windows.Forms में कक्षा कुछ ऐसी संपत्तियां हैं जो काफी उपयोगी हो सकती हैं।सी #: System.Windows.Forms में आवेदन क्यों है?

  • ProductName
  • ProductVersion
  • CompanyName
  • ExecutablePath
  • StartupPath
  • CommonAppDataPath
  • CommonAppDataRegistry
  • UserAppDataPath
  • UserAp: उदाहरण के लिए pDataRegistry
  • LocalUserAppDataPath

क्यों इन System.Windows.Forms में एक कक्षा में कर रहे हैं? अगर मैं कंसोल एप्लिकेशन में CommonAppDataPath तक पहुंचना चाहता हूं तो क्या होगा? क्या मुझे सिस्टम.Windows.Forms.dll का संदर्भ देना होगा, या कंसोल अनुप्रयोगों के लिए कोई विकल्प है?

उत्तर

1

MSDN System.Windows.Forms नाम स्थान प्रलेखन से उद्धरित:

System.Windows.Forms नाम स्थान विंडोज आधारित अनुप्रयोगों है कि अमीर यूजर इंटरफेस माइक्रोसॉफ्ट विंडोज ऑपरेटिंग सिस्टम में उपलब्ध सुविधाओं का पूरा लाभ लेने बनाने के लिए कक्षाओं में शामिल है।

सिस्टम में रखे जाने वाले एप्लिकेशन क्लास को देखने का एकमात्र असली कारण यह है कि विंडोज़ विन्डोज़.फोर्स नेमस्पेस इसलिए है क्योंकि यह विंडोज संदेशों को संभालता है जो आम तौर पर फॉर्म नियंत्रण द्वारा पोस्ट किए जाते हैं।

+1

हाँ, यह सच है। मुझे लगता है कि माइक्रोसॉफ्ट में किसी ने भी एक जिम्मेदारी सिद्धांत या कुछ के बारे में गड़बड़ कर लिया ...: पी – Svish

+0

पहली बार नहीं होगा! : पी – James

9

रास्तों के लिए, आप भी Environment वर्ग में .NET में देख सकते हैं:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 

और वहाँ "विशेष" फ़ोल्डरों आप के लिए पूछ सकते हैं की एक पूरी धसान है।

कंपनी नाम और अन्य विकल्प डिफ़ॉल्ट रूप से आपके "गुण" फ़ोल्डर में "AssemblyInfo.cs" से खींचे जाते हैं - यदि आपके पास ऐसी फ़ाइल है, तो आप कोड में स्वयं को भी एक्सेस कर सकते हैं।

हम्म, उन रास्तों आप किया है कंपनी का नाम और उत्पाद नाम और अपने आप को इस तरह हालांकि संलग्न ... साथ

हाँ, कि क्या System.Windows.Forms विधानसभा के लिए कर रही है है आप। यदि आपके पास Winforms ऐप नहीं है, तो आपको इसे स्वयं करना होगा, यह सच है।

मार्क

+0

+1, मेरे लिए अच्छा लगता है, और सभी उपयोगी सामग्री किसी भी .NET एप्लिकेशन में उपलब्ध है, Winforms –

+0

एचएम तक सीमित नहीं है, उन पथों के साथ जिन्हें आप कंपनी का नाम और उत्पाद का नाम जोड़ना चाहते हैं और ऐसे ही .. – Svish

+0

@ स्विस: मुझे समझ में नहीं आता कि आपका क्या मतलब है - वे केवल डिफ़ॉल्ट "विशेष फ़ोल्डर्स" हैं जो विंडोज आंतरिक रूप से रखता है - आपके उपयोगकर्ता की ऐपडेटा निर्देशिका या उस तरह की चीज़ें। –

0

आवेदन वर्ग Win32 संदेश पाश जो कसकर विंडोज़ रूपों से संबंधित है की शुरूआत।

0

आप जानकारी आप इस तरह के "ProductName" के रूप में विधानसभा नाम स्थान

+0

क्या आपके पास कोई उदाहरण है? – Svish

2

सूचना का उपयोग कर के लिए देख रहे हो सकता है एक WinForms आवेदन में मुख्य विधानसभा से आता है। एएसपी.नेट आवेदन में कोई "मुख्य" असेंबली नहीं है।

यदि आप किसी प्रोफ़ाइल के बिना सेवा खाते के अंतर्गत चल रहे हैं (जो अक्सर एएसपी.नेट ऐप के मामले में हो सकता है), तो कोई UserAppDataPath नहीं होगा - वास्तव में UserAppDataPath प्रॉपर्टी को अपमानित करने का प्रयास अपवाद फेंक देगा।

इन कारणों से, इस जानकारी को एएसपी.NET ऐप में बेनकाब करने का अर्थ नहीं होगा।

+0

अच्छा अंक। चीजों के एएसपी.नेट पक्ष के बारे में नहीं सोचा था :) – Svish

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