यह जानकारी वर्ग घटना लागू करने के लिए वापस गुजर के प्रयोजन के लिए ईवेंट हैंडलर्स में EventArgs को संशोधित करने पर सिकोड़ी है लागू करने के लिए वापस पारित करने के लिए?EventArgs का उपयोग करते हुए जानकारी वर्ग
उदाहरण के लिए यदि मेरे पास एसएसएल के लिए प्रमाणपत्र प्रमाणित करने के लिए निम्न स्तर की संचार कक्षा है, लेकिन यह जानने का कोई तरीका नहीं है कि वैध प्रमाणपत्र कैसा दिखता है क्योंकि यह कक्षा के विभिन्न उपयोगकर्ताओं का ज्ञान है।
class ValidationEventArgs : System.EventArgs
{
public X509Certificate Certificate { get; set; }
public bool Valid { get; set; }
}
तो वस्तुओं का उपयोग करने में वे घटना के लिए ऊपर हुक, और अगर प्रमाण पत्र स्वीकार्य है या नहीं यह देखने के किसी भी तरह Valid
झंडा बदल रहा है इंगित करने के लिए।
comms.ValidationEvent += CertValidationHandler;
void CertValidationHandler(ValidationEventArgs args)
{
if (args.Certificate.Issuer.Contains(COMPANY_NAME)
args.Valid = true;
}
मैं पाया है EventArgs की references इस तरह इस्तेमाल किया जा रहा लेकिन मैं यह भी कह रही है यह अनुशंसित नहीं है लोगों को देखा है।
संपादित करें: शायद मुझे यह स्पष्ट करना चाहिए कि यह EventArgs को विरासत में लाने के बारे में नहीं है, बल्कि संचार के द्वि-दिशात्मक चैनल के रूप में उनका उपयोग कर रहा है। जैसा कि अन्य ने टिप्पणी की है यह स्वीकार्य है और जो भी शोर विपरीत है, वह शायद अवधारणा को गलत समझा/दुरुपयोग कर रहा है और अब goto
के खिलाफ एक ही व्यक्तिगत क्रूसेड है।
कौन कहता है कि यह अनुशंसित नहीं है:
घटना सुनकर? यह ढांचे में हर समय होता है। ['CancelEventArgs'] देखें (http://msdn.microsoft.com/en-us/library/system.componentmodel.canceleventargs।aspx); यह उससे ज्यादा बुनियादी नहीं मिलता है। –
चारों ओर घूमते हुए मुझे यह महसूस हो गया कि म्यूटेबल इवेंट आर्ट्स वास्तव में कुछ नहीं करना चाहिए, शायद इसलिए कि किसी ने किसी बिंदु पर इसका दुरुपयोग किया है। धन्यवाद –
चीजों की तरह, इसका उपयोग करने के लिए समय और स्थान हो सकता है, गलत तरीके से और जगह में इसका उपयोग करना बुरा है, लेकिन इससे यह स्वयं खराब नहीं होता है। – MikeT