Narzut wydajności związany z używaniem atrybutów w .NET

1 .. Czy jest jakiś narzut wydajności spowodowany użyciem atrybutów? Pomyśl o klasie takiej jak:

    public class MyClass
    {
       int Count {get;set;}
    }

gdzie ma 10 attibutes (atrybuty będące klasami, gdzie same klasy atrybutów są znacznie większe niż sama MyClass jak:

public class FirstAttribute : Attribute
{
   int A,B,C,D,E,F,G,H,I,J ... {get;set;}
}

2 .. Czy 10 z tych atrybutów będzie obciążeniem pamięci za każdym razemMyClass jest tworzony? (FirstAttribute jest 10 razy większy niżMyClass które będą ozdobione 10 z nich, dzięki czemu sam obiekt będzie tak mały w porównaniu z całkowitym rozmiarem zdobionych na nim atrybutów.) Czy to jest troska?

3. Czy ten scenariusz byłby inny dla struktur (Strukty będące typami wartości i atrybutami będącymi typami odniesienia)?

4 .. Gdzie są przechowywane atrybuty w pamięci w odniesieniu do obiektu, do którego są przyłączone? Jak się łączą?

5 .. Czy atrybuty są inicjowane jak najszybciejMyClass jest zainicjowany lub gdy używasz odbicia, aby je odzyskać?

questionAnswers(2)

yourAnswerToTheQuestion