2013-03-07 5 views
8

उदाहरण के लिए मैं दो गुणों के साथ एक PSObject लेन-देन है:, आईडी और transactionName इतना है कि यह दिखाई देता है: लेनदेन { आईडी: 123 transactionName: tranName1 }पहुँच PSObject सी # में संपत्ति नाम से

और मैं यदि उसका नाम tranName1 है तो लेनदेन की आईडी वापस करना चाहते हैं।

यह powershell स्क्रिप्ट में मुझे उस करने के लिए लग रहा है, हम बस कर सकते हैं:

if $transaction.transactionName -eq tranName return $transaction.id 

लेकिन सी # में यह त्रुटि दे देंगे क्योंकि यह नाम से संपत्ति को पहचान नहीं कर सकते हैं ... किसी भी विचार कैसे में यह करने के लिए सी#?

+0

संभवतः क्योंकि संपत्ति नाम 'transactionName' है? –

+0

@ ps.s.w.g यहां तक ​​कि मैंने उस नाम को सही किया है जो यह काम नहीं करेगा, क्योंकि सी # लेनदेन को पीएसओब्जेक्ट के रूप में जानता है, जिसमें "लेनदेन नाम" का सदस्य नहीं है ... – jamesdeath123

+0

कोई सी # कोड पोस्ट नहीं किया गया है। वैसे भी, बस प्रकार का पता लगाएं, फिर [* प्रलेखन को देखें *] (http://msdn.microsoft.com/en-us/library/system.management.automation.psobject.aspx) उपयोग के बारे में बुनियादी विचारों के लिए हालांकि .. मुझे संदेह है कि शुरू करने के लिए एक सही टाइप किए गए "लेनदेन" मान का उपयोग करना अधिक उपयोगी होगा। –

उत्तर

18

इस तरह की कोशिश कुछ:

psobjectvariable.Properties["transactionName"].Value 
+0

यह चाल है! आपका बहुत बहुत धन्यवाद! – jamesdeath123

+0

मुझे पता है कि यह एक पुराना उत्तर है, लेकिन सबप्रोपर्टीज के बारे में क्या, उदाहरण के लिए: $ credit.transactionName.propertyA – Roberto

+0

@ रॉबर्टो यदि 'propertyA' एक PSObject है तो आप ऐसा कर सकते हैं:' ((PSObject) psobjectvariable.Properties ["लेनदेननाम "] .Value) .properties [" propertyA "]' – AstralisSomnium

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