Ben C# içinde threadPool kullanarak bir olay yürütmeye çalışıyorum. Sorun, olayın NULL'a işaret ettiğini bana gösteriyor.Hata - olay noktaları NULL C#
public class ClientView : IView<string>
{
event Presenter.func ViewChanged; }
event Presenter.func IView<string>.ViewChanged
{ add{}
remove{} }
public void ClientConnection()
{
while (true)
{
int recv = Client.Receive(data);
if (recv == 0) break;
userInput = Encoding.ASCII.GetString(data, 0, recv);
ViewChanged(); //here it crashes because it's null
}
Client.Close();
}
class Presenter {
private IView<string> view;
public delegate void func();
public Presenter(IView<string> view)
{
this.options = new Dictionary<string, ICommandable>();
options.Add("generate", new Option1());
this.view = view;
this.view.ViewChanged += delegate()
{
string[] input = view.GetUserInput().Split(' ');
ThreadPool.QueueUserWorkItem(options[input[0]].execute, input);
}; }
Programın neden çöktüğünü anlamıyorum. benim ViewChanged olayım NULL işaret etmiyor çünkü ben delegeleri ekledim .. hayır?
Fakat bazı olaylara bir yöntem eklemek için sözdizimi nedir? – aviadm71
@ aviadm71 Ne demek istediğinizden emin değilim, ancak şunu okumana önerin: https://msdn.microsoft.com/en-us/library/orm-9780596521066-01-17.aspx –