2012-09-03 13 views
7

को VB.Net के CTYPE() का अनुवाद कैसे करूं मैं VB NET में इस कोड खंड है:मैं सी #

CType(pbImageHolder.Image, Bitmap).SetPixel(curPoint.X, curPoint.Y, Color.Purple) 

क्या C# में उचित कोड है?

अग्रिम धन्यवाद।

उत्तर

19

VB.Net CType(object, type) में एक विशिष्ट प्रकार के लिए एक वस्तु डाले।

वहाँ सी # में यह पूरा करने के दो तरीके हैं:

Bitmap image = pbImageHolder.Image as Bitmap; 
image.SetPixel(curPoint.X, curPoint.Y, Color.Purple); 

या

Bitmap image = (Bitmap)(pbImageHolder.Image); 
image.SetPixel(curPoint.X, curPoint.Y, Color.Purple); 
+3

1) आपके द्वारा प्रदान किए गए पहले विकल्प को दृढ़ता से जांच की आवश्यकता है; 'as' का उपयोग परिणामों के नतीजे के बिना उपयोग मामलों के लिए नहीं है और वीबी' सीटीपीई ऑपरेटर के प्रत्यक्ष समकक्ष के रूप में नहीं रखा जा सकता है; 2) दूसरे विकल्प में अनावश्यक ब्रैकेट हैं, नीचे अपनी टिप्पणी का उत्तर देखें। इसलिए, विशेष रूप से 'लापरवाह उपयोग के लिए, नीचे मतदान किया। – Dennis

+0

जैसा कि डेनिस ने कहा था, इस तरह के मामलों में 'as' का उपयोग न करें। यह एक गैर-सूचनात्मक 'NullReferenceException' का कारण बन सकता है। –

+0

@ डेनिस एक अच्छी सलाह है लेकिन आपको इसके कारण केवल डाउनवोट करने की आवश्यकता नहीं है। उत्तर अभी भी उपयोगी है – SysDragon

9
((Bitmap)pbImageHolder.Image).SetPixel(curPoint.X, curPoint.Y, Color.Purple) 
+0

'((बिटमैप) pbImageHolder.Image) के साथ 'आप pbImageHolder को बिटमैप में डालने की कोशिश कर रहे हैं, जो शायद काम नहीं करेगा। निम्नलिखित छवि डालेगा: '(बिटमैप) (pbImageHolder.Image)' –

+4

@ डेनिसट्राउब: आप गलत हैं, सी # भाषा विनिर्देश देखें, खंड 7.3.1 "ऑपरेटर प्राथमिकता और सहयोगीता" (http://go.microsoft। com/fwlink /? LinkId = 199,552)। सदस्य पहुंच ऑपरेटर "।" कास्ट ऑपरेटर पर प्राथमिकता है, इसलिए, '(TypeWichCastTo) चर जैसे अभिव्यक्तियां। मेम्बर' इस तरह का मूल्यांकन करेगा: 1) पहले 'चर' के 'सदस्य' का उपयोग करें; 2) फिर 'सदस्य' को 'टाइपविचकास्टो' पर डालें। – Dennis

+1

असल में आप सही हैं। व्याख्या करने के लिए धन्यवाद। –

2

हाय इस सी # कोड के लिए रूपांतरण वीबी के बाद कोड है:

((Bitmap)pbImageHolder.Image).SetPixel(curPoint.X, curPoint.Y, Color.Purple); 

और अगर आप वीबी से सी # में कोड रूपांतरण चाहते हैं और उपाध्यक्ष निम्न लिंक से गुजरते हैं: http://www.developerfusion.com/tools/convert/vb-to-csharp/