मैं एक कक्षा पुस्तकालय लिख रहा हूं जिसका उपयोग अन्य अनुप्रयोगों द्वारा किया जाएगा। मैं इसे सी # .NET में लिख रहा हूं। मुझे कक्षाओं में घटनाओं को ट्रिगर करने में समस्या है। यहाँ मैं क्या करने की जरूरत है ...आप कक्षाओं में एक कार्यक्रम कैसे ट्रिगर करते हैं?
public class ClassLibrary
{
public event EventHandler DeviceAttached;
public ClassLibrary()
{
// do some stuff
OtherClass.Start();
}
}
public class OtherClass : Form
{
public Start()
{
// do things here to initialize receiving messages
}
protected override void WndProc (ref message m)
{
if (....)
{
// THIS IS WHERE I WANT TO TRIGGER THE DEVICE ATTACHED EVENT IN ClassLibrary
// I can't seem to access the eventhandler here to trigger it.
// How do I do it?
}
base.WndProc(ref m);
}
}
फिर आवेदन है कि मैं यह कर देगा वर्ग पुस्तकालय उपयोग कर रहा है में
...
public class ClientApplication
{
void main()
{
ClassLibrary myCL = new ClassLibrary();
myCL.DeviceAttached += new EventHandler(myCl_deviceAttached);
}
void myCl_deviceAttached(object sender, EventArgs e)
{
//do stuff...
}
}
एक तरफ के रूप में, सुनिश्चित करें कि आप थ्रेड सुरक्षा के लिए इसे फायर करने से पहले ईवेंट हैंडलर की प्रतिलिपि बना लें: 'var ev = DeviceAtached; अगर (ev! = null) ev(); ' – Tanzelax