Интересная ситуация с reference type - C#

Узнай цену своей работы

Формулировка задачи:

    class Program
    {
        public Program(int[] o)
        {
            Console.WriteLine("int[]");
        }
        public Program(object o)
        {
            Console.WriteLine("object");
        }
        static void Main()
        {
            new Program(null);
            Console.ReadLine();
        }
    }
почему так? неужели из-за положения в иерархии классов?

Решение задачи: «Интересная ситуация с reference type»

textual
Листинг программы
class Program
{
    static void Main()
    {
        new Program(null);
    }
 
    public Program(A a)
    {
        Console.WriteLine("A");
    }
    public Program(B b)
    {
        Console.WriteLine("B");
    }
}
 
class A 
{ 
}
class B 
{
    public static implicit operator A(B arg)
    {
        return null;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5