Будет ли экземпляр атрибута создаваться для каждого экземпляра класса в C#?
Вот что я имею в виду. Предположим, у нас есть следующий фрагмент кода:
using System;
public class MyAttribute : Attribute
{
public MyAttribute()
{
Console.WriteLine("attr got created");
}
}
[MyAttribute()]
public class A
{
}
public class Program
{
public static void Main()
{
new A();
new A();
}
}
Мой вопрос: будут ли созданы два экземпляра MyAttribute
(поскольку создаются два экземпляра A
) или Будет ли создан только один экземпляр MyAttribute
, который будет использоваться всеми экземплярами A
?
Кроме того, я подозреваю, что другой возможный вариант заключается в том, что не будет создан ни один экземпляр MyAttribute
, потому что при запуске приведенного выше кода ничего не выводится на консоль.
Итак, будет создано 0, 1 или 2 экземпляра MyAttribute
, и я хотел бы знать, сколько именно. И если ответ не 0, то почему я ничего не вижу в консоли?