2014-10-27 7 views
12

साथ एक अनाम प्रकार सदस्य की घोषणा जब आप यह संकलन करने का प्रयास करें:।एक साधारण नाम

var car = new { "toyota", 5000 }; 

आप संकलक त्रुटि "अवैध गुमनाम प्रकार सदस्य declarator बेनामी प्रकार के सदस्यों को एक सदस्य काम के साथ घोषित किया जाना चाहिए मिल जाएगा , सरल नाम या सदस्य का उपयोग। " क्योंकि संकलक संबंधित अभिव्यक्तियों से गुणों का नाम अनुमान लगाने में सक्षम नहीं है। यह कुल समझ में आता है।

मुझे उत्सुकता यह है कि त्रुटि संदेश एक प्रकार के सदस्य घोषित करने के तीन मान्य तरीकों का तात्पर्य है। सदस्य असाइनमेंट और सदस्य पहुँच स्पष्ट कर रहे हैं:

// member assignment 
var v = new { Amount = 108, Message = "Hello" }; 

// member access 
var productQuery = 
    from prod in products 
    select new { prod.Color, prod.Price }; 

क्या एक सरल नाम साथ घोषित करने का एक उदाहरण हो सकता है?

Googling और इतने पर संबंधित प्रश्नों सदस्य काम और केवल सदस्य पहुँच के उदाहरण में परिणाम।

उत्तर

12

जहाँ तक मुझे पता है, simple name घोषणा यह है:

var amount = 10; 
var whatever = "hello"; 

var newType = { amount, whatever } 

कौन सा स्वचालित रूप से एक गुमनाम प्रकार के बराबर पैदा करेगा:

var newType = { amount = amount, whatever = whatever } 
+5

वास्तव में, सरल नाम से एक विशिष्ट शब्द है [ सी # spec] (http://msdn.microsoft.com/en-us/library/aa691350 (v = vs.71) .aspx)। उद्धरण: 'एक साधारण नाम में एक पहचानकर्ता होता है, वैकल्पिक रूप से एक प्रकार तर्क तर्क सूची के बाद: सरल-नाम: पहचानकर्ता प्रकार-तर्क-सूचीपटल 'पृष्ठ 158, पैराग्राफ ** 7.6.2 ** सी # 5.0 spec से। एमएसडीएन और भाषा विनिर्देश थोड़ा सिंक से बाहर है। [विशिष्टता] (http://www.microsoft.com/en-us/download/confirmation.aspx?id=7029) एक गहरी परिभाषा देता है –

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