Options

Is this a mistake?

C# :
using System;


namespace ConsoleApp13
{
   delegate void Komunikat(string kom);
    class Program
    {
        static void Main(string[] args)
        {
           

            Komunikat kom1 = new Komunikat(WyswietlKomunikat);
            Komunikat kom2 = new Komunikat(WyswietlKomunikat);

            if (kom1 == kom2) Console.WriteLine("equal 1");

            if (ReferenceEquals(kom1, kom2)) Console.WriteLine("equal 2");   // comparing references !!!
        }

        static void WyswietlKomunikat(string kom)
        {
            Console.WriteLine(kom);
        }
    }

 class Class1
    {
    }
}

------------------------------------------------
generated by Net Reflector :
private static void Main(string[] args)
{
  
    Komunikat komunikat = new Komunikat(Program.WyswietlKomunikat);
    Komunikat komunikat2 = new Komunikat(Program.WyswietlKomunikat);
    if (komunikat == komunikat2)
    {
        Console.WriteLine("equal 1");
    }
    if (komunikat == komunikat2) // Delegate.Equality Operator (Delegate, Delegate)-  comparing delegates!!!
    {
        Console.WriteLine("equal 2");
    }
}

Sign In or Register to comment.