Dlaczego można przypisać delegacji w klasie metodę operatorem "+=" a użycie "=" powoduje błąd skoro efekt byłby taki sam i poza klasą oba sposoby działają?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Poligon
{
public delegate void OnUjemneEventDelegate();
public class Kontener
{
public event OnUjemneEventDelegate OnUjemne;
private int x;
public int getX()
{
return x;
}
public void setX(int arg)
{
x = arg;
if(arg<0)
{
if(OnUjemne != null)
{
OnUjemne();
}
}
}
}
class Program
{
public static void Wyswietlanie()
{
Console.WriteLine("Przypisano wartosc ujemna!");
}
static void Main(string[] args)
{
Kontener k1 = new Kontener();
k1.OnUjemne += Wyswietlanie;
//k1.OnUjemne = Wyswietlanie; <- tak nie działa
k1.setX(12);
Console.WriteLine("x = " + k1.getX());
k1.setX(-5);
Console.WriteLine("x = " + k1.getX());
Console.ReadKey();
}
}
}